@@ -79,7 +79,9 @@ func (w *responseWriter) Written() bool {
// Implements the http.Hijacker interface
func (w *responseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) {
- w.size = 0 // this prevents Gin to write the HTTP headers
+ if w.size < 0 {
+ w.size = 0
+ }
return w.ResponseWriter.(http.Hijacker).Hijack()
}
@@ -15,6 +15,9 @@ import (
var _ ResponseWriter = &responseWriter{}
var _ http.ResponseWriter = &responseWriter{}
var _ http.ResponseWriter = ResponseWriter(&responseWriter{})
+var _ http.Hijacker = ResponseWriter(&responseWriter{})
+var _ http.Flusher = ResponseWriter(&responseWriter{})
+var _ http.CloseNotifier = ResponseWriter(&responseWriter{})
func init() {
SetMode(TestMode)