From a73d8f5a86185aeb39e398d0226d56be7d9247ca Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Tue, 25 Sep 2018 20:59:52 +0000 Subject: net/http: make Transport send WebSocket upgrade requests over HTTP/1 WebSockets requires HTTP/1 in practice (no spec or implementations work over HTTP/2), so if we get an HTTP request that looks like it's trying to initiate WebSockets, use HTTP/1, like browsers do. This is part of a series of commits to make WebSockets work over httputil.ReverseProxy. See #26937. Updates #26937 Change-Id: I6ad3df9b0a21fddf62fa7d9cacef48e7d5d9585b Reviewed-on: https://go-review.googlesource.com/c/137437 Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot Reviewed-by: Dmitri Shuralyov --- src/net/http/export_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/net/http/export_test.go') diff --git a/src/net/http/export_test.go b/src/net/http/export_test.go index bc0db53a2c..716e8ecac7 100644 --- a/src/net/http/export_test.go +++ b/src/net/http/export_test.go @@ -155,7 +155,7 @@ func (t *Transport) IdleConnStrsForTesting_h2() []string { func (t *Transport) IdleConnCountForTesting(scheme, addr string) int { t.idleMu.Lock() defer t.idleMu.Unlock() - key := connectMethodKey{"", scheme, addr} + key := connectMethodKey{"", scheme, addr, false} cacheKey := key.String() for k, conns := range t.idleConn { if k.String() == cacheKey { @@ -178,12 +178,12 @@ func (t *Transport) IsIdleForTesting() bool { } func (t *Transport) RequestIdleConnChForTesting() { - t.getIdleConnCh(connectMethod{nil, "http", "example.com"}) + t.getIdleConnCh(connectMethod{nil, "http", "example.com", false}) } func (t *Transport) PutIdleTestConn(scheme, addr string) bool { c, _ := net.Pipe() - key := connectMethodKey{"", scheme, addr} + key := connectMethodKey{"", scheme, addr, false} select { case <-t.incHostConnCount(key): default: -- cgit v1.3