AdguardTeam / AdguardTeam/gomitmproxy

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

Open
#24 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
344
Forks
71
PR merge metrics
No merged PRs in 30d

Description

`gomitmproxy.NewProxy` starts out as follows:

```go

// 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:

```go
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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.