From c307bca3043434e5f5a85d68dd9cc61c0a5ba52c Mon Sep 17 00:00:00 2001 From: galal-hussein Date: Tue, 27 Mar 2018 23:07:16 +0200 Subject: [PATCH] Set timeouts for docker dialer --- hosts/dialer.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hosts/dialer.go b/hosts/dialer.go index a91d0609..7bfadf5e 100644 --- a/hosts/dialer.go +++ b/hosts/dialer.go @@ -4,10 +4,15 @@ import ( "fmt" "net" "net/http" + "time" "golang.org/x/crypto/ssh" ) +const ( + DockerDialerTimeout = 30 +) + type DialerFactory func(h *Host) (func(network, address string) (net.Conn, error), error) type dialer struct { @@ -105,9 +110,13 @@ func (h *Host) newHTTPClient(dialerFactory DialerFactory) (*http.Client, error) if err != nil { return nil, err } + dockerDialerTimeout := time.Second * DockerDialerTimeout return &http.Client{ Transport: &http.Transport{ - Dial: dialer, + Dial: dialer, + TLSHandshakeTimeout: dockerDialerTimeout, + IdleConnTimeout: dockerDialerTimeout, + ResponseHeaderTimeout: dockerDialerTimeout, }, }, nil }