Commit c4e2cf96 authored by Matt Holt's avatar Matt Holt

Merge pull request #737 from tw4452852/closeNotifier

http.CloseNotifier implementation for http.ResponseWriter wrapper
parents 6a7b777f c64cf218
...@@ -141,3 +141,12 @@ func (w *gzipResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { ...@@ -141,3 +141,12 @@ func (w *gzipResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) {
} }
return nil, nil, fmt.Errorf("not a Hijacker") return nil, nil, fmt.Errorf("not a Hijacker")
} }
// CloseNotify implements http.CloseNotifier.
// It just inherits the underlying ResponseWriter's CloseNotify method.
func (w *gzipResponseWriter) CloseNotify() <-chan bool {
if cn, ok := w.ResponseWriter.(http.CloseNotifier); ok {
return cn.CloseNotify()
}
panic("not a CloseNotifier")
}
...@@ -87,3 +87,12 @@ func (r *ResponseRecorder) Flush() { ...@@ -87,3 +87,12 @@ func (r *ResponseRecorder) Flush() {
panic("not a Flusher") // should be recovered at the beginning of middleware stack panic("not a Flusher") // should be recovered at the beginning of middleware stack
} }
} }
// CloseNotify implements http.CloseNotifier.
// It just inherits the underlying ResponseWriter's CloseNotify method.
func (r *ResponseRecorder) CloseNotify() <-chan bool {
if cn, ok := r.ResponseWriter.(http.CloseNotifier); ok {
return cn.CloseNotify()
}
panic("not a CloseNotifier")
}
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