github.com/fabiokung/docker@v0.11.2-0.20170222101415-4534dcd49497/client/transport.go (about) 1 package client 2 3 import ( 4 "crypto/tls" 5 "net/http" 6 ) 7 8 // transportFunc allows us to inject a mock transport for testing. We define it 9 // here so we can detect the tlsconfig and return nil for only this type. 10 type transportFunc func(*http.Request) (*http.Response, error) 11 12 func (tf transportFunc) RoundTrip(req *http.Request) (*http.Response, error) { 13 return tf(req) 14 } 15 16 // resolveTLSConfig attempts to resolve the TLS configuration from the 17 // RoundTripper. 18 func resolveTLSConfig(transport http.RoundTripper) *tls.Config { 19 switch tr := transport.(type) { 20 case *http.Transport: 21 return tr.TLSClientConfig 22 default: 23 return nil 24 } 25 }