From c37c8ca018aac86abda010993346c8ae6b59045e Mon Sep 17 00:00:00 2001 From: greg pereira Date: Sun, 28 Apr 2024 20:15:14 -0700 Subject: [PATCH] implementing reasonable timeouts in the http clients we use Signed-off-by: greg pereira --- worker/cmd/generate.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/worker/cmd/generate.go b/worker/cmd/generate.go index 89a4565e..bb588e88 100644 --- a/worker/cmd/generate.go +++ b/worker/cmd/generate.go @@ -779,6 +779,9 @@ func (w *Worker) fetchModelName(fullName bool) (string, error) { endpoint += "models" http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{InsecureSkipVerify: true} + http.DefaultTransport.(*http.Transport).TLSHandshakeTimeout = 10 * time.Second + http.DefaultTransport.(*http.Transport).ResponseHeaderTimeout = 10 * time.Second + http.DefaultTransport.(*http.Transport).ExpectContinueTimeout = 1 * time.Second req, err := http.NewRequestWithContext(w.ctx, "GET", endpoint, nil) if err != nil { @@ -971,7 +974,12 @@ func (w *Worker) createTLSHttpClient() (*http.Client, error) { InsecureSkipVerify: true, } httpClient := &http.Client{ - Transport: &http.Transport{TLSClientConfig: tlsConfig}, + Transport: &http.Transport{ + TLSClientConfig: tlsConfig, + TLSHandshakeTimeout: 10 * time.Second, + ResponseHeaderTimeout: 10 * time.Second, + ExpectContinueTimeout: 1 * time.Second, + }, } return httpClient, nil }