From: Brad Fitzpatrick Date: Thu, 18 Feb 2016 22:59:13 +0000 (+0530) Subject: net/http: fix bug where http2 wasn't enabled on DefaultTransport X-Git-Tag: go1.6.2~27 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=406752b640fcc56a9287b8454564cffe2f0021c1;p=gostls13.git 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 Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot Reviewed-on: https://go-review.googlesource.com/22035 Reviewed-by: Brad Fitzpatrick --- 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),