aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2016-02-19 04:29:13 +0530
committerAndrew Gerrand <adg@golang.org>2016-04-14 05:20:09 +0000
commit406752b640fcc56a9287b8454564cffe2f0021c1 (patch)
tree81339eebef2900baf8bc0b88dc46a348f12b5c7e
parentf5cf5673590a68c55b2330df9dfcdd6fac75b893 (diff)
downloadgo-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.go10
-rw-r--r--src/net/http/transport_test.go5
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),