diff --git a/executor.go b/executor.go index a620a1145..fe9c42878 100644 --- a/executor.go +++ b/executor.go @@ -20,6 +20,7 @@ import ( "errors" "fmt" "io/ioutil" + "net" "net/http" "net/url" "sort" @@ -57,7 +58,21 @@ type Executor struct { // NewExecutor returns a new instance of Executor. func NewExecutor() *Executor { return &Executor{ - HTTPClient: http.DefaultClient, + HTTPClient: &http.Client{ + Transport: &http.Transport{ + Proxy: http.ProxyFromEnvironment, + DialContext: (&net.Dialer{ + Timeout: 30 * time.Second, + KeepAlive: 30 * time.Second, + DualStack: true, + }).DialContext, + MaxIdleConns: 1000, + MaxIdleConnsPerHost: 200, + IdleConnTimeout: 90 * time.Second, + TLSHandshakeTimeout: 10 * time.Second, + ExpectContinueTimeout: 1 * time.Second, + }, + }, } }