]> Cypherpunks repositories - gostls13.git/commitdiff
net/http: update bundled http2
authorBrad Fitzpatrick <bradfitz@golang.org>
Thu, 30 Jun 2016 00:01:10 +0000 (17:01 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Thu, 30 Jun 2016 00:25:29 +0000 (00:25 +0000)
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>

src/net/http/h2_bundle.go

index 9f2f751a1a821f0f053f4cfa0fc3f0219d4597d4..68c05d559cefe771a528399621235b6ccee14d9c 100644 (file)
@@ -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 {