From 3cb04fffd9552001ad2bb8eb0ca1e24c07edb448 Mon Sep 17 00:00:00 2001 From: oppiliappan Date: Tue, 12 May 2026 10:55:05 +0100 Subject: [PATCH] appview/metrics: support request hijacking permits websocket upgrades in pipeline endpoints Signed-off-by: oppiliappan --- appview/metrics/middleware.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/appview/metrics/middleware.go b/appview/metrics/middleware.go index 9475fa9bf..cce45ddb4 100644 --- a/appview/metrics/middleware.go +++ b/appview/metrics/middleware.go @@ -1,7 +1,9 @@ package metrics import ( + "bufio" "fmt" + "net" "net/http" "time" @@ -18,6 +20,14 @@ func (r *statusRecorder) WriteHeader(status int) { r.ResponseWriter.WriteHeader(status) } +func (r *statusRecorder) Hijack() (net.Conn, *bufio.ReadWriter, error) { + h, ok := r.ResponseWriter.(http.Hijacker) + if !ok { + return nil, nil, fmt.Errorf("underlying ResponseWriter does not support hijacking") + } + return h.Hijack() +} + func Middleware(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { rec := &statusRecorder{ResponseWriter: w, status: http.StatusOK} -- 2.51.2