net/http: document how Hijack and Request.Context interact, take two

Second try. The previous version (CL 115039 in git rev 3988863) wasn't
accurate.

Fixes #22347

Change-Id: I473165f308c730f50b14ba787cb215f7cb9ea364
Reviewed-on: https://go-review.googlesource.com/119235
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Brad Fitzpatrick 2018-06-15 20:10:47 +00:00
parent ad7320acc4
commit c34381a658
2 changed files with 4 additions and 3 deletions

View File

@ -321,8 +321,7 @@ type Request struct {
//
// For incoming server requests, the context is canceled when the
// client's connection closes, the request is canceled (with HTTP/2),
// the ServeHTTP method returns, or if the Hijack method is
// called on the ResponseWriter.
// or when the ServeHTTP method returns.
func (r *Request) Context() context.Context {
if r.ctx != nil {
return r.ctx

View File

@ -190,7 +190,9 @@ type Hijacker interface {
// data from the client.
//
// After a call to Hijack, the original Request.Body must not
// be used, and the Request.Context will be canceled.
// be used. The original Request's Context remains valid and
// is not canceled until the Request's ServeHTTP method
// returns.
Hijack() (net.Conn, *bufio.ReadWriter, error)
}