From 9f467981713fa87dba7f4a2caee4dae79fb6f3cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillaume=20Gr=C3=A9sillion?= Date: Wed, 3 Dec 2025 11:48:43 +0100 Subject: [PATCH] fix(httpx): use default transport as base --- httpx/client.go | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) 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 +}