debian-forge-composer/vendor/github.com/mattn/go-ieproxy
Lars Karlitski 6703055925 go: include vendored modules
RHEL requires the source code for dependencies to be included in the
srpm. The spec file already expects that, but we've only included the
vendored modules (i.e., the `vendor` directory) in the `rhel-8.2.`
branch. Move vendoring to master, so that we can build RHEL packages
from it as well.

This commit is the result of running `go mod vendor`, which includes the
vendored sources and updates go.mod and go.sum files.

Fedora requires the opposite: dependencies should not be vendored. The
spec file already ignores the `vendor` directory by default.
2020-02-17 16:09:17 +01:00
..
.gitignore go: include vendored modules 2020-02-17 16:09:17 +01:00
GetProxyFunc.go go: include vendored modules 2020-02-17 16:09:17 +01:00
ieproxy.go go: include vendored modules 2020-02-17 16:09:17 +01:00
ieproxy_unix.go go: include vendored modules 2020-02-17 16:09:17 +01:00
ieproxy_windows.go go: include vendored modules 2020-02-17 16:09:17 +01:00
kernel32_data_windows.go go: include vendored modules 2020-02-17 16:09:17 +01:00
LICENSE go: include vendored modules 2020-02-17 16:09:17 +01:00
pac_unix.go go: include vendored modules 2020-02-17 16:09:17 +01:00
pac_windows.go go: include vendored modules 2020-02-17 16:09:17 +01:00
proxyMiddleman_unix.go go: include vendored modules 2020-02-17 16:09:17 +01:00
proxyMiddleman_windows.go go: include vendored modules 2020-02-17 16:09:17 +01:00
README.md go: include vendored modules 2020-02-17 16:09:17 +01:00
utils.go go: include vendored modules 2020-02-17 16:09:17 +01:00
winhttp_data_windows.go go: include vendored modules 2020-02-17 16:09:17 +01:00

ieproxy

Go package to detect the proxy settings on Windows platform.

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.

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.
}