mirror of
				https://github.com/coredns/coredns.git
				synced 2025-11-04 03:03:14 -05:00 
			
		
		
		
	middleware/etcd: move NewHTTPTransport to pkg/tls (#769)
This commit is contained in:
		@@ -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
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -79,3 +79,23 @@ func TestNewTLSConfigFromArgs(t *testing.T) {
 | 
			
		||||
		t.Error("Certificateis should have a single entry when three args passed")
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestNewHTTPSTransport(t *testing.T) {
 | 
			
		||||
	rmFunc, _, _, ca := getPEMFiles(t)
 | 
			
		||||
	defer rmFunc()
 | 
			
		||||
 | 
			
		||||
	cc, err := NewTLSClientConfig(ca)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Errorf("Failed to create TLSConfig: %s", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	tr := NewHTTPSTransport(cc)
 | 
			
		||||
	if tr == nil {
 | 
			
		||||
		t.Errorf("Failed to create https transport with cc")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	tr = NewHTTPSTransport(nil)
 | 
			
		||||
	if tr == nil {
 | 
			
		||||
		t.Errorf("Failed to create https transport without cc")
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user