diff --git a/pkgs/core/api/_proxy.ts b/pkgs/core/api/_proxy.ts index 64343ca3..9bfaaf1f 100644 --- a/pkgs/core/api/_proxy.ts +++ b/pkgs/core/api/_proxy.ts @@ -36,6 +36,16 @@ export const _ = { res_headers[k] = v; }); res_body = await res.arrayBuffer(); + if (res_headers["content-encoding"] === "gzip") { + res_body = await gzipAsync(new Uint8Array(res_body)); + delete res_headers["content-encoding"]; + } else if (res_headers["content-encoding"] === "zstd") { + res_body = await decompress(res_body); + delete res_headers["content-encoding"]; + } else if (res_headers["content-encoding"] === "br") { + res_body = await brotli.decompress(res_body); + delete res_headers["content-encoding"]; + } return new Response(res_body, { headers: res_headers }); } catch (e: any) {