Files
docker-cli/components/cli/client/transport.go
Daniel Nephin 27d281716f Import docker/docker/client
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
Upstream-commit: e8a454d8a6
Component: cli
2017-04-17 17:41:20 -04:00

26 lines
635 B
Go

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
}
}