add Hijacker interface to metrics middleware response writer. Fix #79

This commit is contained in:
Umputun 2021-05-22 12:30:56 -05:00
parent 971e77b5d3
commit ec300029b6

View File

@ -1,7 +1,10 @@
package mgmt
import (
"bufio"
"errors"
"log"
"net"
"net/http"
"strconv"
"strings"
@ -94,3 +97,12 @@ func (rw *responseWriter) WriteHeader(code int) {
rw.statusCode = code
rw.ResponseWriter.WriteHeader(code)
}
// Hijack delegate to the original writer if it implements http.Hijacker
func (rw *responseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) {
h, ok := rw.ResponseWriter.(http.Hijacker)
if !ok {
return nil, nil, errors.New("hijack not supported")
}
return h.Hijack()
}