github.com/aavshr/aws-sdk-go@v1.41.3/awstesting/integration/performance/s3UploadManager/client.go (about) 1 //go:build integration && perftest 2 // +build integration,perftest 3 4 package main 5 6 import ( 7 "net" 8 "net/http" 9 "time" 10 ) 11 12 func NewClient(cfg ClientConfig) *http.Client { 13 tr := &http.Transport{ 14 Proxy: http.ProxyFromEnvironment, 15 DialContext: (&net.Dialer{ 16 Timeout: cfg.Timeouts.Connect, 17 KeepAlive: 30 * time.Second, 18 DualStack: true, 19 }).DialContext, 20 MaxIdleConns: cfg.MaxIdleConns, 21 MaxIdleConnsPerHost: cfg.MaxIdleConnsPerHost, 22 IdleConnTimeout: 90 * time.Second, 23 24 DisableKeepAlives: !cfg.KeepAlive, 25 TLSHandshakeTimeout: cfg.Timeouts.TLSHandshake, 26 ExpectContinueTimeout: cfg.Timeouts.ExpectContinue, 27 ResponseHeaderTimeout: cfg.Timeouts.ResponseHeader, 28 } 29 30 return &http.Client{ 31 Transport: tr, 32 } 33 }