github.com/aavshr/aws-sdk-go@v1.41.3/awstesting/integration/performance/s3GetObject/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: 100, 21 IdleConnTimeout: 90 * time.Second, 22 23 DisableKeepAlives: !cfg.KeepAlive, 24 TLSHandshakeTimeout: cfg.Timeouts.TLSHandshake, 25 ExpectContinueTimeout: cfg.Timeouts.ExpectContinue, 26 ResponseHeaderTimeout: cfg.Timeouts.ResponseHeader, 27 } 28 29 return &http.Client{ 30 Transport: tr, 31 } 32 }