From aca91f1c15348459fa096b23d6bcd03a6fac7aa6 Mon Sep 17 00:00:00 2001 From: Wolfgang Meyers Date: Wed, 23 May 2018 19:07:11 -0700 Subject: [PATCH] Handle ResponseWriters that don't implement CloseNotifier --- response_writer.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/response_writer.go b/response_writer.go index 232f00aa..46eb2e78 100644 --- a/response_writer.go +++ b/response_writer.go @@ -105,7 +105,13 @@ func (w *responseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { // CloseNotify implements the http.CloseNotify interface. func (w *responseWriter) CloseNotify() <-chan bool { - return w.ResponseWriter.(http.CloseNotifier).CloseNotify() + // Handle ResponseWriters that don't implement CloseNotifier + closeNotifier, ok := w.ResponseWriter.(http.CloseNotifier) + if ok { + return closeNotifier.CloseNotify() + } + // This channel never returns a value + return make(chan bool) } // Flush implements the http.Flush interface.