Strip content-encoding from proxied responses

Bun decompresses gzip responses internally but leaves the
Content-Encoding: gzip header, causing browsers to fail trying
to decompress already-decompressed content.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Corey Johnson 2026-03-10 17:45:27 -07:00
parent 3fe4116ec7
commit 82febdbf7f

View File

@ -38,6 +38,11 @@ function proxyFetch(req: Request): Promise<Response> | Response {
headers, headers,
body: hasBody ? req.body : undefined, body: hasBody ? req.body : undefined,
unix: SOCKET_PATH, unix: SOCKET_PATH,
}).then((r) => {
const respHeaders = new Headers(r.headers)
respHeaders.delete('content-encoding')
respHeaders.delete('content-length')
return new Response(r.body, { status: r.status, headers: respHeaders })
}).catch((e) => { }).catch((e) => {
console.error('Proxy error:', e) console.error('Proxy error:', e)
return new Response('Tronbyt server is not responding', { status: 502 }) return new Response('Tronbyt server is not responding', { status: 502 })