This commit is contained in:
Rizky 2024-06-21 13:34:53 +07:00
parent fec0190ffd
commit 975b007cb1
1 changed files with 24 additions and 24 deletions

View File

@ -1,6 +1,6 @@
import brotliPromise from "brotli-wasm";
import { apiContext } from "service-srv";
import { gzipAsync } from "utils/diff/diff";
import { gunzipAsync, gzipAsync } from "utils/diff/diff";
import { decompress } from "@cloudpss/zstd";
const brotli = await brotliPromise;
@ -17,39 +17,39 @@ export const _ = {
const body = await req.arrayBuffer();
const headers = {} as Record<string, string>;
req.headers.forEach((v, k) => {
// if (k.startsWith("sec-")) return;
// if (k.startsWith("connection")) return;
// if (k.startsWith("dnt")) return;
// if (k.startsWith("host")) return;
if (k.startsWith("sec-")) return;
if (k.startsWith("connection")) return;
if (k.startsWith("dnt")) return;
if (k.startsWith("host")) return;
headers[k] = v;
});
return await fetch(url as any, {
const res = await fetch(url as any, {
method: req.method || "POST",
headers,
body,
});
// let res_body: any = null;
// const res_headers: any = {};
// res.headers.forEach((v, k) => {
// res_headers[k] = v;
// });
// res_body = await res.arrayBuffer();
let res_body: any = null;
const res_headers: any = {};
res.headers.forEach((v, k) => {
res_headers[k] = v;
});
res_body = await res.arrayBuffer();
// let enc = res_headers["content-encoding"];
// 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 = Buffer.from(await decompress(res_body));
// delete res_headers["content-encoding"];
// } else if (res_headers["content-encoding"] === "br") {
// res_body = Buffer.from(brotli.decompress(res_body));
// delete res_headers["content-encoding"];
// }
let enc = res_headers["content-encoding"];
if (res_headers["content-encoding"] === "gzip") {
res_body = Bun.gunzipSync(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 = brotli.decompress(res_body);
delete res_headers["content-encoding"];
}
// return new Response(res_body, { headers: res_headers });
return new Response(res_body, { headers: res_headers });
} catch (e: any) {
new Response(
JSON.stringify({