From: Brad Fitzpatrick Date: Fri, 15 Apr 2016 21:56:30 +0000 (+0000) Subject: net/http: document Hijacker and Flusher more X-Git-Tag: go1.7beta1~624 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=0db2bf2313cdd7711c2215fab2ae234a0f591fe8;p=gostls13.git net/http: document Hijacker and Flusher more Fixes #15312 Change-Id: I4fabef3f21081bc4b020069851b5c2504bc6b4d8 Reviewed-on: https://go-review.googlesource.com/22122 Reviewed-by: Emmanuel Odeke Reviewed-by: Andrew Gerrand --- diff --git a/src/net/http/server.go b/src/net/http/server.go index 64529f1e96..da17fccbae 100644 --- a/src/net/http/server.go +++ b/src/net/http/server.go @@ -94,6 +94,10 @@ type ResponseWriter interface { // The Flusher interface is implemented by ResponseWriters that allow // an HTTP handler to flush buffered data to the client. // +// The default HTTP/1.x and HTTP/2 ResponseWriter implementations +// support Flusher, but ResponseWriter wrappers may not. Handlers +// should always test for this ability at runtime. +// // Note that even for ResponseWriters that support Flush, // if the client is connected through an HTTP proxy, // the buffered data may not reach the client until the response @@ -105,6 +109,11 @@ type Flusher interface { // The Hijacker interface is implemented by ResponseWriters that allow // an HTTP handler to take over the connection. +// +// The default ResponseWriter for HTTP/1.x connections supports +// Hijacker, but HTTP/2 connections intentionally do not. +// ResponseWriter wrappers may also not support Hijacker. Handlers +// should always test for this ability at runtime. type Hijacker interface { // Hijack lets the caller take over the connection. // After a call to Hijack(), the HTTP server library