From 6cdba50f367abeb753d2fac28301f0063a92d71f Mon Sep 17 00:00:00 2001 From: meiseayoung Date: Tue, 30 Dec 2025 18:41:34 +0800 Subject: [PATCH] fix: Remove duplicate response headers --- picoev_server.v | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/picoev_server.v b/picoev_server.v index 5fc33f6..c86562d 100644 --- a/picoev_server.v +++ b/picoev_server.v @@ -229,14 +229,16 @@ fn send_picoev_response(mut res picohttpparser.Response, ctx Context, response h mut has_content_type := false mut has_connection := false - mut has_content_length := false for key, value in ctx.headers { + // 跳过 Content-Length,picohttpparser 会在 body() 时自动添加 + if key.to_lower() == 'content-length' { + continue + } res.header(key, value) key_lower := key.to_lower() if key_lower == 'content-type' { has_content_type = true } if key_lower == 'connection' { has_connection = true } - if key_lower == 'content-length' { has_content_length = true } } if content_type := response.header.get(.content_type) { @@ -250,10 +252,6 @@ fn send_picoev_response(mut res picohttpparser.Response, ctx Context, response h res.header('Content-Type', 'text/plain; charset=utf-8') } - if !has_content_length { - res.header('Content-Length', response.body.len.str()) - } - if !has_connection { if keepalive { res.header('Connection', 'keep-alive')