fed prxy logic.
diff --git a/apid.go b/apid.go
index fd325d5..3613765 100644
--- a/apid.go
+++ b/apid.go
@@ -24,6 +24,12 @@
 	SystemEventsSelector  EventSelector = "system event"
 	ShutdownEventSelector EventSelector = "shutdown event"
 	ShutdownTimeout       time.Duration = 10 * time.Second
+	configfwdProxyURL	=   "configfwdproxy_url"
+	configfwdProxyProt	=   "configfwdproxy_prot"
+	configfwdProxyUser	=   "configfwdproxy_user"
+	configfwdProxyPasswd	=   "configfwdproxy_passwd"
+	configfwdProxyPort      =   "configfwdproxy_port"
+	configfwdProxyPortURL   =   "configcompletefwdp"
 )
 
 var (
@@ -43,6 +49,23 @@
 	Log() LogService
 }
 
+func setFwdProxyConfig(config ConfigService) {
+	var pURL string
+
+	config.SetDefault(configfwdProxyProt, "https")
+	fwdPrxy := config.GetString(configfwdProxyURL)
+	fwdprxyProt := config.GetString(configfwdProxyProt)
+	fwdPrxyUser := config.GetString(configfwdProxyUser)
+	fwdPrxyPass := config.GetString(configfwdProxyPasswd)
+	fwdPrxyPort := config.GetString(configfwdProxyPort)
+	if fwdPrxy != "" && fwdPrxyUser != "" && fwdPrxyPort != "" {
+		pURL = fwdprxyProt + "://" + fwdPrxyUser + ":" + fwdPrxyPass + "@" + fwdPrxy + ":" + fwdPrxyPort
+	} else if fwdPrxy != "" && fwdPrxyPort != "" {
+		pURL = fwdprxyProt + "://" + fwdPrxy + ":" + fwdPrxyPort
+	}
+	config.Set(configfwdProxyPortURL, pURL)
+}
+
 type PluginInitFunc func(Services) (PluginData, error)
 
 // passed Services can be a factory - makes copies and maintains returned references
@@ -60,7 +83,7 @@
 	if err := os.MkdirAll(lsp, 0700); err != nil {
 		ss.log.Panicf("can't create local storage path %s: %v", lsp, err)
 	}
-
+	setFwdProxyConfig(ss.config)
 	ss.events = s.Events()
 	ss.api = s.API()
 	ss.data = s.Data()