New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is NewClientWithEnvProxy necessary? #2898
Comments
So, unfortunately, I'm the one who proposed it here as a workaround. If, after reading #2363 and #2686, you are still convinced that |
Yeah, me too. Maybe we can get some comments from the other contributors who are interested. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I suspect that
NewClientWithEnvProxy
is redundant withNewClient(nil)
. The reason I think this isNewClient(nil)
uses returns aClient
with an emptyhttp.Client
.http.Client
with no transport useshttp.DefaultTransport
, andhttp.DefaultTransport
is configured to use ProxyFromEnvironment. So,NewClient(nil)
returns a client that has the same proxy config asNewClientWithEnvProxy
.There are a couple of differences though:
NewClientWithEnvProxy
's client uses a transport that is missing all the other config inhttp.DefaultTransport
. While somebody might want this, I don't think it makes sense to get that out of a constructor named "NewClientWithEnvProxy"Somebody could modify
http.DefaultTransport
so that it is unsuitable for use with go-github but then want to use an empty*http.Transport
configured with ProxyFromEnvironment for go-github. This seems like an unlikely scenario, and in the case it comes up they can pass an http.Client to NewClient that is configured however they want.This came up when working on #2897. If we agree that NewClientWithEnvProxy is unnecessary I can mark it deprecated with a note saying to use
github.NewClient(nil)
instead.The text was updated successfully, but these errors were encountered: