diff --git a/httpx/client.go b/httpx/client.go index 0d85539..d8728e7 100644 --- a/httpx/client.go +++ b/httpx/client.go @@ -11,24 +11,23 @@ import ( // Deprecated: use NewClient instead // nolint var DefaultClient = &http.Client{ - Timeout: time.Minute * 15, - Transport: &http.Transport{ - Dial: (&net.Dialer{ - Timeout: 20 * time.Second, - }).Dial, - TLSHandshakeTimeout: 15 * time.Second, - }, + Timeout: time.Minute * 15, + Transport: NewTransport(), } //nolint:exhaustruct // we don't need all fields func NewClient() *http.Client { return &http.Client{ - Timeout: time.Minute * 15, - Transport: &http.Transport{ - Dial: (&net.Dialer{ - Timeout: 20 * time.Second, - }).Dial, - TLSHandshakeTimeout: 15 * time.Second, - }, + Timeout: time.Minute * 15, + Transport: NewTransport(), } } + +func NewTransport() *http.Transport { + transport := http.DefaultTransport.(*http.Transport).Clone() + transport.DialContext = (&net.Dialer{ + Timeout: 20 * time.Second, + }).DialContext + transport.TLSHandshakeTimeout = 15 * time.Second + return transport +}