package client import ( "crypto/tls" "net/http" ) // transportFunc allows us to inject a mock transport for testing. We define it // here so we can detect the tlsconfig and return nil for only this type. type transportFunc func(*http.Request) (*http.Response, error) func (tf transportFunc) RoundTrip(req *http.Request) (*http.Response, error) { return tf(req) } // resolveTLSConfig attempts to resolve the TLS configuration from the // RoundTripper. func resolveTLSConfig(transport http.RoundTripper) *tls.Config { switch tr := transport.(type) { case *http.Transport: return tr.TLSClientConfig default: return nil } }