diff options
author | Brad Fitzpatrick <bradfitz@golang.org> | 2016-02-19 04:29:13 +0530 |
---|---|---|
committer | Andrew Gerrand <adg@golang.org> | 2016-04-14 05:20:09 +0000 |
commit | 406752b640fcc56a9287b8454564cffe2f0021c1 (patch) | |
tree | 81339eebef2900baf8bc0b88dc46a348f12b5c7e | |
parent | f5cf5673590a68c55b2330df9dfcdd6fac75b893 (diff) | |
download | go-406752b640fcc56a9287b8454564cffe2f0021c1.tar.gz go-406752b640fcc56a9287b8454564cffe2f0021c1.zip |
net/http: fix bug where http2 wasn't enabled on DefaultTransport
I had accidentally disabled a headline feature at the last second. :(
Fixes #14391
Change-Id: I1992c9b801072b7538b95c55242be174075ff932
Reviewed-on: https://go-review.googlesource.com/19672
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-on: https://go-review.googlesource.com/22035
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-rw-r--r-- | src/net/http/transport.go | 10 | ||||
-rw-r--r-- | src/net/http/transport_test.go | 5 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/net/http/transport.go b/src/net/http/transport.go index baf71d5e85..1e3ea11d9c 100644 --- a/src/net/http/transport.go +++ b/src/net/http/transport.go @@ -176,9 +176,13 @@ func (t *Transport) onceSetNextProtoDefaults() { // Issue 14275. return } - if t.ExpectContinueTimeout != 0 { - // Unsupported in http2, so disable http2 for now. - // Issue 13851. + if t.ExpectContinueTimeout != 0 && t != DefaultTransport { + // ExpectContinueTimeout is unsupported in http2, so + // if they explicitly asked for it (as opposed to just + // using the DefaultTransport, which sets it), then + // disable http2 for now. + // + // Issue 13851. (and changed in Issue 14391) return } t2, err := http2configureTransport(t) diff --git a/src/net/http/transport_test.go b/src/net/http/transport_test.go index 0c901b30a4..d9da078fa0 100644 --- a/src/net/http/transport_test.go +++ b/src/net/http/transport_test.go @@ -2888,6 +2888,11 @@ func TestTransportAutomaticHTTP2(t *testing.T) { testTransportAutoHTTP(t, &Transport{}, true) } +// golang.org/issue/14391: also check DefaultTransport +func TestTransportAutomaticHTTP2_DefaultTransport(t *testing.T) { + testTransportAutoHTTP(t, DefaultTransport.(*Transport), true) +} + func TestTransportAutomaticHTTP2_TLSNextProto(t *testing.T) { testTransportAutoHTTP(t, &Transport{ TLSNextProto: make(map[string]func(string, *tls.Conn) RoundTripper), |