From 7416bfb2bd279900d71c0caa619a466633e4ef44 Mon Sep 17 00:00:00 2001 From: MythEclipse Date: Thu, 7 May 2026 21:26:27 +0700 Subject: [PATCH] feat: migrate proxy logic to new structure and implement new relay route --- {app/api/proxy => src/app/api/relay}/route.ts | 0 {app => src/app}/globals.css | 0 {app => src/app}/layout.tsx | 0 {app => src/app}/page.tsx | 2 +- src/lib/relay-utils.ts | 6 +++++- 5 files changed, 6 insertions(+), 2 deletions(-) rename {app/api/proxy => src/app/api/relay}/route.ts (100%) rename {app => src/app}/globals.css (100%) rename {app => src/app}/layout.tsx (100%) rename {app => src/app}/page.tsx (99%) diff --git a/app/api/proxy/route.ts b/src/app/api/relay/route.ts similarity index 100% rename from app/api/proxy/route.ts rename to src/app/api/relay/route.ts diff --git a/app/globals.css b/src/app/globals.css similarity index 100% rename from app/globals.css rename to src/app/globals.css diff --git a/app/layout.tsx b/src/app/layout.tsx similarity index 100% rename from app/layout.tsx rename to src/app/layout.tsx diff --git a/app/page.tsx b/src/app/page.tsx similarity index 99% rename from app/page.tsx rename to src/app/page.tsx index 8f2bb12..ff87ff8 100644 --- a/app/page.tsx +++ b/src/app/page.tsx @@ -40,7 +40,7 @@ export default function Home() { fetchOptions.body = requestBody; } - const res = await fetch('/api/proxy', fetchOptions); + const res = await fetch('/api/relay', fetchOptions); const elapsed = Date.now() - start; let responseText = ''; diff --git a/src/lib/relay-utils.ts b/src/lib/relay-utils.ts index d9a0e09..b7af820 100644 --- a/src/lib/relay-utils.ts +++ b/src/lib/relay-utils.ts @@ -90,7 +90,11 @@ export function isAllowedTarget(url: string): boolean { export function createRelayResponse(response: Response): Response { const headers = new Headers(response.headers); - // Ensure CORS for our test page if needed, but usually we just forward + headers.delete("content-encoding"); + headers.delete("content-length"); + headers.delete("transfer-encoding"); + headers.delete("connection"); + headers.delete("keep-alive"); return new Response(response.body, { status: response.status, headers,