From de9d128545cf8b3a00fd7685dc3c067cfd31e34d Mon Sep 17 00:00:00 2001 From: MuziIsabel <785398289@qq.com> Date: Sat, 25 Apr 2026 12:10:28 +0800 Subject: [PATCH] fix: strip content-encoding header in proxyToGo to prevent Brotli decode error Node fetch auto-decompresses upstream responses, but proxy_go.js was forwarding the original content-encoding header (e.g. br/gzip) to clients. Clients then tried to decompress already-decompressed data and failed. Filter out content-encoding alongside content-length. --- internal/js/chat-stream/proxy_go.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/js/chat-stream/proxy_go.js b/internal/js/chat-stream/proxy_go.js index 5218df0..4e31a9c 100644 --- a/internal/js/chat-stream/proxy_go.js +++ b/internal/js/chat-stream/proxy_go.js @@ -53,7 +53,8 @@ async function proxyToGo(req, res, rawBody) { res.statusCode = upstream.status; upstream.headers.forEach((value, key) => { - if (key.toLowerCase() === 'content-length') { + const lower = key.toLowerCase(); + if (lower === 'content-length' || lower === 'content-encoding') { return; } res.setHeader(key, value);