From 2c4f6a3b99aff45d80654761850553ae6af1cb3e Mon Sep 17 00:00:00 2001 From: SunBK201 Date: Tue, 4 Nov 2025 16:01:34 +0800 Subject: [PATCH] fix: long http header --- src/internal/rewrite/rewriter.go | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/src/internal/rewrite/rewriter.go b/src/internal/rewrite/rewriter.go index edbf283..95cd637 100644 --- a/src/internal/rewrite/rewriter.go +++ b/src/internal/rewrite/rewriter.go @@ -186,7 +186,6 @@ func (r *Rewriter) ProxyHTTPOrRaw(dst net.Conn, src net.Conn, destAddr string, s // HTTP request loop (handles keep-alive) for { - if isHTTP, err = r.isHTTP(reader); err != nil { err = fmt.Errorf("isHTTP: %w", err) return @@ -221,26 +220,8 @@ func (r *Rewriter) isHTTP(reader *bufio.Reader) (bool, error) { } hint := string(hintSlice) method, _, _ := strings.Cut(hint, " ") - if _, exists := httpMethods[method]; !exists { - return false, nil - } - - // Detailed check: parse request line - line, err := peekLineString(reader) - if err != nil { - return false, err - } - method, _, proto, ok := parseRequestLine(line) - if !ok { - return false, nil - } - if proto != "HTTP/1.1" && proto != "HTTP/1.0" { - return false, nil - } - if _, exists := httpMethods[method]; exists { - return true, nil - } - return false, nil + _, exists := httpMethods[method] + return exists, nil } // buildNewUA returns either a partial replacement (regex) or full overwrite.