Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/vendor/github.com/mattn/go-ieproxy
renovate[bot] 775bf8ebe7
fix(deps): update module github.com/mattn/go-ieproxy to v0.0.12 (#13876)
1 year ago
..
.gitignore Loki Query Frontend (#1442) 6 years ago
LICENSE Loki Query Frontend (#1442) 6 years ago
README.md fix(deps): update module github.com/mattn/go-ieproxy to v0.0.12 (#13876) 1 year ago
ieproxy.go fix(deps): update module github.com/mattn/go-ieproxy to v0.0.12 (#13876) 1 year ago
ieproxy_darwin.go fix(deps): update module github.com/mattn/go-ieproxy to v0.0.12 (#13876) 1 year ago
ieproxy_ios.go fix(deps): update module github.com/mattn/go-ieproxy to v0.0.12 (#13876) 1 year ago
ieproxy_unix.go fix(deps): update module github.com/mattn/go-ieproxy to v0.0.12 (#13876) 1 year ago
ieproxy_windows.go fix(deps): update module github.com/mattn/go-ieproxy to v0.0.12 (#13876) 1 year ago
kernel32_data_windows.go loki: use new runtimeconfig package from Cortex (#1484) 6 years ago
pac_darwin.go fix(deps): update module github.com/mattn/go-ieproxy to v0.0.12 (#13876) 1 year ago
pac_unix.go fix(deps): update module github.com/mattn/go-ieproxy to v0.0.12 (#13876) 1 year ago
pac_windows.go Loki Query Frontend (#1442) 6 years ago
proxy_middleman.go loki: use new runtimeconfig package from Cortex (#1484) 6 years ago
proxy_middleman_darwin.go fix(deps): update module github.com/mattn/go-ieproxy to v0.0.12 (#13876) 1 year ago
proxy_middleman_ios.go fix(deps): update module github.com/mattn/go-ieproxy to v0.0.12 (#13876) 1 year ago
proxy_middleman_unix.go fix(deps): update module github.com/mattn/go-ieproxy to v0.0.12 (#13876) 1 year ago
proxy_middleman_windows.go loki: use new runtimeconfig package from Cortex (#1484) 6 years ago
utils.go Loki Query Frontend (#1442) 6 years ago
winhttp_data_windows.go loki: use new runtimeconfig package from Cortex (#1484) 6 years ago

README.md

ieproxy

Go package to detect the proxy settings on Windows platform, and MacOS.

On Windows, the settings are initially attempted to be read from the WinHttpGetIEProxyConfigForCurrentUser DLL call, but falls back to the registry (CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings) in the event the DLL call fails.

On MacOS, the settings are read from CFNetworkCopySystemProxySettings method of CFNetwork.

For more information, take a look at the documentation

Methods

You can either obtain a net/http compatible proxy function using ieproxy.GetProxyFunc(), set environment variables using ieproxy.OverrideEnvWithStaticProxy() (though no automatic configuration is available this way), or obtain the proxy settings via ieproxy.GetConf().

Method Supported configuration options:
ieproxy.GetProxyFunc() Static, Specified script, and fully automatic
ieproxy.OverrideEnvWithStaticProxy() Static
ieproxy.GetConf() Depends on how you use it

Examples

Using GetProxyFunc():

func init() {
	http.DefaultTransport.(*http.Transport).Proxy = ieproxy.GetProxyFunc()
}

GetProxyFunc acts as a middleman between net/http and mattn/go-ieproxy in order to select the correct proxy configuration based off the details supplied in the config.

Using OverrideEnvWithStaticProxy():

func init() {
	ieproxy.OverrideEnvWithStaticProxy()
	http.DefaultTransport.(*http.Transport).Proxy = http.ProxyFromEnvironment
}

OverrideEnvWithStaticProxy overrides the relevant environment variables (HTTP_PROXY, HTTPS_PROXY, NO_PROXY) with the static, manually configured proxy details typically found in the registry.

Using GetConf():

func main() {
	conf := ieproxy.GetConf()
	//Handle proxies how you want to.
}