Commit c34381a6 authored by Brad Fitzpatrick's avatar Brad Fitzpatrick

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

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

Fixes #22347

Change-Id: I473165f308c730f50b14ba787cb215f7cb9ea364
Reviewed-on: https://go-review.googlesource.com/119235Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
parent ad7320ac
...@@ -321,8 +321,7 @@ type Request struct { ...@@ -321,8 +321,7 @@ type Request struct {
// //
// For incoming server requests, the context is canceled when the // For incoming server requests, the context is canceled when the
// client's connection closes, the request is canceled (with HTTP/2), // client's connection closes, the request is canceled (with HTTP/2),
// the ServeHTTP method returns, or if the Hijack method is // or when the ServeHTTP method returns.
// called on the ResponseWriter.
func (r *Request) Context() context.Context { func (r *Request) Context() context.Context {
if r.ctx != nil { if r.ctx != nil {
return r.ctx return r.ctx
......
...@@ -190,7 +190,9 @@ type Hijacker interface { ...@@ -190,7 +190,9 @@ type Hijacker interface {
// data from the client. // data from the client.
// //
// After a call to Hijack, the original Request.Body must not // 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) Hijack() (net.Conn, *bufio.ReadWriter, error)
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment