From 6ccf29f0be61cc3e46bcb926a2cb23789a648b87 Mon Sep 17 00:00:00 2001 From: SunBK201 Date: Mon, 4 Dec 2023 21:16:54 +0800 Subject: [PATCH] fix: loop clean http parser --- main.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index 2bc16ab..ab92eb1 100644 --- a/main.go +++ b/main.go @@ -54,6 +54,7 @@ func main() { printAndLog(fmt.Sprintf("Accept failed: %v", err), logger, syslog.LOG_ERR) continue } + printAndLog(fmt.Sprintf("Accept %s", client.RemoteAddr().String()), logger, syslog.LOG_DEBUG) go process(client) } } @@ -170,7 +171,6 @@ func Socks5Forward(client, target net.Conn) { } func CopyPileline(dst io.Writer, src io.Reader) { - parser := NewHTTPParser() logger, _ := syslog.Dial("", "", syslog.LOG_INFO, "UA3F") buf := make([]byte, 1024*8) nr, err := src.Read(buf) @@ -194,6 +194,7 @@ func CopyPileline(dst io.Writer, src io.Reader) { return } for { + parser := NewHTTPParser() httpBodyOffset, err := parser.Parse(buf[0:nr]) for err == ErrMissingData { var m int