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()