git.iko.soy/typeable/oauth2-proxy
on master help sign in
better handling of default transport modification
commitbae168f06acdab5b29d7167d4bdf48f4de02aaae authortuunit <jan@larwig.com> dateSun 6 Oct 2024, 21:43 (2 years ago) parent8fd7312
2 files changed+9−13
pkg/requests/http.go+7−7 pkg/validation/options.go+2−6
pkg/requests/http.go+7−7
@@ -7,22 +7,22 @@ import (
77)
88
99type userAgentTransport struct {
10− Next http.RoundTripper
10+ next http.RoundTripper
1111 userAgent string
1212}
1313
1414func (t *userAgentTransport) RoundTrip(req *http.Request) (*http.Response, error) {
1515 r := req.Clone(req.Context())
1616 setDefaultUserAgent(r.Header, t.userAgent)
17− return t.Next.RoundTrip(r)
17+ return t.next.RoundTrip(r)
1818}
1919
20−var DefaultHTTPClient = &http.Client{Transport: &DefaultTransport}
21−
22−var DefaultTransport = userAgentTransport{
23− Next: http.DefaultTransport,
20+var DefaultHTTPClient = &http.Client{Transport: &userAgentTransport{
21+ next: DefaultTransport,
2422 userAgent: "oauth2-proxy/" + version.VERSION,
25−}
23+}}
24+
25+var DefaultTransport = http.DefaultTransport
2626
2727func setDefaultUserAgent(header http.Header, userAgent string) {
2828 if header != nil && len(header.Values("User-Agent")) == 0 {
pkg/validation/options.go+2−6
@@ -31,20 +31,16 @@ func Validate(o *options.Options) error {
3131 msgs = parseSignatureKey(o, msgs)
3232
3333 if o.SSLInsecureSkipVerify {
34− transport := requests.DefaultTransport.Next.(*http.Transport).Clone()
34+ transport := requests.DefaultTransport.(*http.Transport)
3535 transport.TLSClientConfig = &tls.Config{InsecureSkipVerify: true} // #nosec G402 -- InsecureSkipVerify is a configurable option we allow
36−
37− requests.DefaultHTTPClient = &http.Client{Transport: transport}
3836 } else if len(o.Providers[0].CAFiles) > 0 {
3937 pool, err := util.GetCertPool(o.Providers[0].CAFiles, o.Providers[0].UseSystemTrustStore)
4038 if err == nil {
41− transport := requests.DefaultTransport.Next.(*http.Transport).Clone()
39+ transport := requests.DefaultTransport.(*http.Transport)
4240 transport.TLSClientConfig = &tls.Config{
4341 RootCAs: pool,
4442 MinVersion: tls.VersionTLS12,
4543 }
46−
47− requests.DefaultHTTPClient = &http.Client{Transport: transport}
4844 } else {
4945 msgs = append(msgs, fmt.Sprintf("unable to load provider CA file(s): %v", err))
5046 }