From e7ecec6860fee077785d3b462bc1ac3fff34c662 Mon Sep 17 00:00:00 2001 From: James Bardin Date: Wed, 25 Oct 2017 10:47:36 -0400 Subject: [PATCH] add Transport field to Disco For the same reason the disco tests need to override the http.Transport, other test fixtures will need to as well. Provide a field to override the default httpTransport. --- svchost/disco/disco.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/svchost/disco/disco.go b/svchost/disco/disco.go index 291842bbe..dd3524a27 100644 --- a/svchost/disco/disco.go +++ b/svchost/disco/disco.go @@ -39,6 +39,10 @@ var httpTransport = cleanhttp.DefaultPooledTransport() // overridden during test type Disco struct { hostCache map[svchost.Hostname]Host credsSrc auth.CredentialsSource + + // Transport is a custom http.Transport to use. + // A package default is used if this is nil. + Transport *http.Transport } func NewDisco() *Disco { @@ -92,8 +96,14 @@ func (d *Disco) discover(host svchost.Hostname) Host { Host: string(host), Path: discoPath, } + + t := d.Transport + if t == nil { + t = httpTransport + } + client := &http.Client{ - Transport: httpTransport, + Transport: t, Timeout: discoTimeout, CheckRedirect: func(req *http.Request, via []*http.Request) error {