aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2016-06-29 17:01:10 -0700
committerBrad Fitzpatrick <bradfitz@golang.org>2016-06-30 00:25:29 +0000
commite0c8af090ea1ccc32d06ae75b653446d2a9d6f87 (patch)
treed6d20d5047df1e27ee55114b84c37d0704fe2226
parent51b08d511e8b42eace59588a7eea73c4d21d222d (diff)
downloadgo-e0c8af090ea1ccc32d06ae75b653446d2a9d6f87.tar.gz
go-e0c8af090ea1ccc32d06ae75b653446d2a9d6f87.zip
net/http: update bundled http2
Updates x/net/http2 to git rev 8e573f40 for https://golang.org/cl/24600, "http2: merge multiple GOAWAY frames' contents into error message" Fixes #14627 (more) Change-Id: I5231607c2c9e0d854ad6199ded43c59e59f62f52 Reviewed-on: https://go-review.googlesource.com/24612 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-rw-r--r--src/net/http/h2_bundle.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/net/http/h2_bundle.go b/src/net/http/h2_bundle.go
index 9f2f751a1a..68c05d559c 100644
--- a/src/net/http/h2_bundle.go
+++ b/src/net/http/h2_bundle.go
@@ -5267,8 +5267,16 @@ func (t *http2Transport) NewClientConn(c net.Conn) (*http2ClientConn, error) {
func (cc *http2ClientConn) setGoAway(f *http2GoAwayFrame) {
cc.mu.Lock()
defer cc.mu.Unlock()
+
+ old := cc.goAway
cc.goAway = f
- cc.goAwayDebug = string(f.DebugData())
+
+ if cc.goAwayDebug == "" {
+ cc.goAwayDebug = string(f.DebugData())
+ }
+ if old != nil && old.ErrCode != http2ErrCodeNo {
+ cc.goAway.ErrCode = old.ErrCode
+ }
}
func (cc *http2ClientConn) CanTakeNewRequest() bool {