From 6070d5ecde449a4adcc60fa8f9e69ed5f568d4df Mon Sep 17 00:00:00 2001 From: mwortman Date: Mon, 22 Sep 2025 13:22:43 -0300 Subject: [PATCH 1/2] Add timeouts for transport layer --- rpcclient/infrastructure.go | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/rpcclient/infrastructure.go b/rpcclient/infrastructure.go index 030d1b49f0..a81b1d0748 100644 --- a/rpcclient/infrastructure.go +++ b/rpcclient/infrastructure.go @@ -1356,17 +1356,28 @@ func newHTTPClient(config *ConnConfig) (*http.Client, error) { } } - transport := &ObservingTransport{ - Base: &http.Transport{ - Proxy: proxyFunc, - TLSClientConfig: tlsConfig, - }, + baseTransport := http.Transport{ + Proxy: proxyFunc, + TLSClientConfig: tlsConfig, + } + + // Example timeout configuration + baseTransport.DialContext = (&net.Dialer{ + Timeout: 3 * time.Second, + KeepAlive: 30 * time.Second, + }).DialContext + baseTransport.TLSHandshakeTimeout = 3 * time.Second + baseTransport.ResponseHeaderTimeout = 10 * time.Second + + observingTransport := &ObservingTransport{ + Base: &baseTransport, // Wrap with response capturing if callback provided OnResponseCapture: config.OnResponseCapture, } client := http.Client{ - Transport: transport, + Transport: observingTransport, + Timeout: 30 * time.Second, // Overall request timeout } return &client, nil From 67dcc1bea50bc45b21ae8b123174c634cd30fbfd Mon Sep 17 00:00:00 2001 From: mwortman Date: Tue, 23 Sep 2025 11:51:17 -0300 Subject: [PATCH 2/2] remove comment --- rpcclient/infrastructure.go | 1 - 1 file changed, 1 deletion(-) diff --git a/rpcclient/infrastructure.go b/rpcclient/infrastructure.go index a81b1d0748..2cc163d21d 100644 --- a/rpcclient/infrastructure.go +++ b/rpcclient/infrastructure.go @@ -1361,7 +1361,6 @@ func newHTTPClient(config *ConnConfig) (*http.Client, error) { TLSClientConfig: tlsConfig, } - // Example timeout configuration baseTransport.DialContext = (&net.Dialer{ Timeout: 3 * time.Second, KeepAlive: 30 * time.Second,