http2: make Server send GOAWAY if Handler sets "Connection: close" header
In Go's HTTP/1.x Server, a "Connection: close" response from a handler results in the TCP connection being closed. In HTTP/2, a "Connection" header is illegal and we weren't previously handling it, generating malformed responses to clients. (This is one of our violations listed in golang/go#25023) There was also a feature request in golang/go#20977 for a way for HTTP/2 handlers to close the connection after the response. Since we already close the connection for "Connection: close" for HTTP/1.x, do the same for HTTP/2 and map it to a graceful GOAWAY errcode=NO response. Updates golang/go#25023 (improves 8.1.2.2. Connection-Specific Header Fields) Updates golang/go#20977 (fixes after vendor into std) Change-Id: Iefb33ea73be616052533080c63b54ae679b1d154 Reviewed-on: https://go-review.googlesource.com/121415 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Showing
Please
register
or
sign in
to comment