github.com/circular-dark/docker@v1.7.0/utils/tcp.go (about) 1 package utils 2 3 import ( 4 "net" 5 "net/http" 6 "time" 7 ) 8 9 func ConfigureTCPTransport(tr *http.Transport, proto, addr string) { 10 // Why 32? See https://github.com/docker/docker/pull/8035. 11 timeout := 32 * time.Second 12 if proto == "unix" { 13 // No need for compression in local communications. 14 tr.DisableCompression = true 15 tr.Dial = func(_, _ string) (net.Conn, error) { 16 return net.DialTimeout(proto, addr, timeout) 17 } 18 } else { 19 tr.Proxy = http.ProxyFromEnvironment 20 tr.Dial = (&net.Dialer{Timeout: timeout}).Dial 21 } 22 }