middleware/etcd: move NewHTTPTransport to pkg/tls (#769)

This commit is contained in:
Mia Boulay 2017-07-01 16:17:53 -04:00 committed by Miek Gieben
parent 7e97379bc5
commit 7fada97ee3
3 changed files with 44 additions and 23 deletions

View file

@ -5,6 +5,9 @@ import (
"crypto/x509"
"fmt"
"io/ioutil"
"net"
"net/http"
"time"
)
// NewTLSConfigFromArgs returns a TLS config based upon the passed
@ -102,3 +105,23 @@ func loadRoots(caPath string) (*x509.CertPool, error) {
}
return roots, nil
}
// NetHTTPSTransport returns an HTTP transport configured using tls.Config
func NewHTTPSTransport(cc *tls.Config) *http.Transport {
// this seems like a bad idea but was here in the previous version
if cc != nil {
cc.InsecureSkipVerify = true
}
tr := &http.Transport{
Proxy: http.ProxyFromEnvironment,
Dial: (&net.Dialer{
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
}).Dial,
TLSHandshakeTimeout: 10 * time.Second,
TLSClientConfig: cc,
}
return tr
}