aboutsummaryrefslogtreecommitdiff
path: root/middleware/pkg/tls/tls.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/pkg/tls/tls.go')
-rw-r--r--middleware/pkg/tls/tls.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/middleware/pkg/tls/tls.go b/middleware/pkg/tls/tls.go
index 62889f542..13882c353 100644
--- a/middleware/pkg/tls/tls.go
+++ b/middleware/pkg/tls/tls.go
@@ -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
+}