mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-26 21:17:23 +00:00
Honor custom transport dialer
This commit is contained in:
parent
23000cfbd3
commit
51eb52cc8f
@ -91,7 +91,8 @@ func SetOldTransportDefaults(t *http.Transport) *http.Transport {
|
|||||||
// ProxierWithNoProxyCIDR allows CIDR rules in NO_PROXY
|
// ProxierWithNoProxyCIDR allows CIDR rules in NO_PROXY
|
||||||
t.Proxy = NewProxierWithNoProxyCIDR(http.ProxyFromEnvironment)
|
t.Proxy = NewProxierWithNoProxyCIDR(http.ProxyFromEnvironment)
|
||||||
}
|
}
|
||||||
if t.DialContext == nil {
|
// If no custom dialer is set, use the default context dialer
|
||||||
|
if t.DialContext == nil && t.Dial == nil {
|
||||||
t.DialContext = defaultTransport.DialContext
|
t.DialContext = defaultTransport.DialContext
|
||||||
}
|
}
|
||||||
if t.TLSHandshakeTimeout == 0 {
|
if t.TLSHandshakeTimeout == 0 {
|
||||||
@ -129,7 +130,18 @@ func DialerFor(transport http.RoundTripper) (DialFunc, error) {
|
|||||||
|
|
||||||
switch transport := transport.(type) {
|
switch transport := transport.(type) {
|
||||||
case *http.Transport:
|
case *http.Transport:
|
||||||
|
// transport.DialContext takes precedence over transport.Dial
|
||||||
|
if transport.DialContext != nil {
|
||||||
return transport.DialContext, nil
|
return transport.DialContext, nil
|
||||||
|
}
|
||||||
|
// adapt transport.Dial to the DialWithContext signature
|
||||||
|
if transport.Dial != nil {
|
||||||
|
return func(ctx context.Context, net, addr string) (net.Conn, error) {
|
||||||
|
return transport.Dial(net, addr)
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
// otherwise return nil
|
||||||
|
return nil, nil
|
||||||
case RoundTripperWrapper:
|
case RoundTripperWrapper:
|
||||||
return DialerFor(transport.WrappedRoundTripper())
|
return DialerFor(transport.WrappedRoundTripper())
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user