From 406752b640fcc56a9287b8454564cffe2f0021c1 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Fri, 19 Feb 2016 04:29:13 +0530 Subject: [PATCH] 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 --- src/net/http/transport.go | 10 +++++++--- 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), -- 2.48.1