From 24ed3bb339fb8442e2c4c272d15e8def9faf152c Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 15 Jul 2021 15:24:41 +0800 Subject: [PATCH] metrics: implement Hijacker interface --- metrics/http_metrics.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/metrics/http_metrics.go b/metrics/http_metrics.go index c5bb4cdb..8d7414e4 100644 --- a/metrics/http_metrics.go +++ b/metrics/http_metrics.go @@ -15,7 +15,10 @@ package metrics import ( + "bufio" + "errors" "fmt" + "net" "net/http" "time" @@ -138,6 +141,15 @@ func (r *responseWriter) WriteHeader(status int) { r.ResponseWriter.WriteHeader(status) } +// For web socket traffics +func (rw *responseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { + hi, ok := rw.ResponseWriter.(http.Hijacker) + if !ok { + return nil, nil, errors.New("not implemented") + } + return hi.Hijack() +} + func (r *responseWriter) Status() int { if r.status == 0 { return http.StatusOK