From f29b69ff3b666a7c96a0220a6d4a7c27df5b789f Mon Sep 17 00:00:00 2001 From: yusing Date: Mon, 27 Oct 2025 17:46:23 +0800 Subject: [PATCH] refactor(rules): remove Flush method and replace with http.NewResponseController in ResponseModifier --- internal/route/rules/response_modifier.go | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/internal/route/rules/response_modifier.go b/internal/route/rules/response_modifier.go index 2b01f077..fbc380b6 100644 --- a/internal/route/rules/response_modifier.go +++ b/internal/route/rules/response_modifier.go @@ -144,15 +144,6 @@ func (rm *ResponseModifier) Hijack() (net.Conn, *bufio.ReadWriter, error) { return nil, nil, errors.New("hijack not supported") } -func (rm *ResponseModifier) Flush() error { - if flusher, ok := rm.w.(http.Flusher); ok { - flusher.Flush() - } else if errFlusher, ok := rm.w.(interface{ Flush() error }); ok { - return errFlusher.Flush() - } - return nil -} - // FlushRelease flushes the response modifier and releases the resources // it returns the number of bytes written and the aggregated error // if there is any error (rule errors or write error), it will be returned @@ -175,7 +166,7 @@ func (rm *ResponseModifier) FlushRelease() (int, error) { if werr != nil { rm.errs.Addf("write error: %w", werr) } - if err := rm.Flush(); err != nil { + if err := http.NewResponseController(rm.w).Flush(); err != nil { rm.errs.Addf("flush error: %w", err) } }