From d1d656461c140c218d6dc9fadac5cecb0774d65b Mon Sep 17 00:00:00 2001 From: Simon Ma Date: Thu, 21 Dec 2023 11:03:30 +0800 Subject: [PATCH] update url path match rule and header filter --- next.config.mjs | 6 ------ src/handle-request.ts | 10 ++++------ 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/next.config.mjs b/next.config.mjs index 8c34e06..ebb6ce4 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -4,12 +4,6 @@ const config = { return [ { source: "/:_path*", - "has": [ - { - "type": "query", - "key": "key", - } - ], destination: "/api/proxy" }, ]; diff --git a/src/handle-request.ts b/src/handle-request.ts index 0c587d5..16aef4c 100644 --- a/src/handle-request.ts +++ b/src/handle-request.ts @@ -15,8 +15,8 @@ const pickHeaders = (headers: Headers, keys: (string | RegExp)[]): Headers => { const CORS_HEADERS: Record = { "access-control-allow-origin": "*", - "access-control-allow-methods": "GET, POST, PUT, DELETE, OPTIONS", - "access-control-allow-headers": "Content-Type", + "access-control-allow-methods": "*", + "access-control-allow-headers": "*", }; export default async function handleRequest(request: NextRequest & { nextUrl?: URL }) { @@ -40,7 +40,7 @@ export default async function handleRequest(request: NextRequest & { nextUrl?: U url.searchParams.append(key, value); }); - const headers = pickHeaders(request.headers, ["content-type"]); + const headers = pickHeaders(request.headers, ["content-type", "x-goog-api-client", "x-goog-api-key"]); const response = await fetch(url, { body: request.body, @@ -50,9 +50,7 @@ export default async function handleRequest(request: NextRequest & { nextUrl?: U const responseHeaders = { ...CORS_HEADERS, - ...Object.fromEntries( - pickHeaders(response.headers, ["content-type"]) - ), + ...Object.fromEntries(response.headers) }; return new Response(response.body, {