github.com/michael-k/docker@v1.7.0-rc2/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  }