From: Brad Fitzpatrick Date: Thu, 30 Jun 2016 00:01:10 +0000 (-0700) Subject: net/http: update bundled http2 X-Git-Tag: go1.7rc1~23 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e0c8af090ea1ccc32d06ae75b653446d2a9d6f87;p=gostls13.git 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 Reviewed-by: Andrew Gerrand TryBot-Result: Gobot Gobot --- 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 {