Merge pull request #737 from tw4452852/closeNotifier

http.CloseNotifier implementation for http.ResponseWriter wrapper
This commit is contained in:
Matt Holt 2016-04-11 00:18:06 -06:00
commit c4e2cf96e7
2 changed files with 18 additions and 0 deletions

View file

@ -141,3 +141,12 @@ func (w *gzipResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) {
}
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")
}

View file

@ -87,3 +87,12 @@ func (r *ResponseRecorder) Flush() {
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")
}