Skip to content

Feat request: Please allow us to have access to transport config #24

@tgrushka

Description

@tgrushka

gomitmproxy.NewProxy starts out as follows:

// NewProxy creates a new instance of the Proxy
func NewProxy(config Config) *Proxy {
	proxy := &Proxy{
		Config: config,
		transport: &http.Transport{
			// This forces http.Transport to not upgrade requests to HTTP/2
			// TODO: Remove when HTTP/2 can be supported
			TLSNextProto:          make(map[string]func(string, *tls.Conn) http.RoundTripper),
			Proxy:                 http.ProxyFromEnvironment,
...

The Proxy: http.ProxyFromEnvironment is what affects me specifically. I am using an upstream proxy, and having to os.Setenv... to make it work is very inelegant:

os.Setenv("ALL_PROXY", upstreamProxy)
os.Setenv("HTTP_PROXY", upstreamProxy)
os.Setenv("HTTPS_PROXY", upstreamProxy)
fmt.Println("Upstream Proxy =", upstreamProxy)

Being able to pass this in, perhaps via the Config would be amazing. I would be happy to make a PR, please suggest if can be added to Config (maybe simple/non-breaking) or should be done some other way.

Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions