mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 10:13:14 -04: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