From 6f91d936727d5b30156841ded80e5e77c8a08c09 Mon Sep 17 00:00:00 2001 From: MythEclipse Date: Thu, 7 May 2026 22:55:23 +0700 Subject: [PATCH] feat: restructure API and documentation with new relay handler and UI components --- README.md | 12 +++++++----- src/app/{ => docs}/page.tsx | 2 +- src/app/{api/relay => }/route.ts | 0 3 files changed, 8 insertions(+), 6 deletions(-) rename src/app/{ => docs}/page.tsx (99%) rename src/app/{api/relay => }/route.ts (100%) diff --git a/README.md b/README.md index 1fc934a..0ecb8ba 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,9 @@ HTTP proxy untuk Vercel Edge Runtime. ## Live Deployment -Endpoint utama: `https://proxy-bun.vercel.app/api/relay` -Endpoint kedua: `https://vercel-relay-bgddcbfit-asepharyana71s-projects.vercel.app` +- **API Endpoint**: `https://proxy-bun.vercel.app/` +- **Docs/Tester**: `https://proxy-bun.vercel.app/docs` + ## Cara Pakai ### Header yang Dibutuhkan @@ -19,12 +20,12 @@ Endpoint kedua: `https://vercel-relay-bgddcbfit-asepharyana71s-projects.vercel.a ```bash # Proxy -curl -H "x-relay-target: https://jsonplaceholder.typicode.com/posts/1" https://proxy-bun.vercel.app/api/relay +curl -H "x-relay-target: https://jsonplaceholder.typicode.com/posts/1" https://proxy-bun.vercel.app/ # Proxy ke endpoint spesifik curl -H "x-relay-target: https://api.example.com" \ -H "x-relay-path: /v1/users" \ - https://proxy-bun.vercel.app/api/relay + https://proxy-bun.vercel.app/ ``` ### HTTP Methods @@ -57,7 +58,8 @@ HTTP 400 jika `x-relay-target` tidak ada. proxy-bun/ ├── src/ │ ├── app/ -│ │ └── api/relay/route.ts # Edge handler +│ │ ├── docs/page.tsx # UI / Documentation +│ │ └── route.ts # Edge API handler │ └── lib/ │ ├── relay-utils.ts # Pure functions untuk relay logic │ └── relay-utils.test.ts # Unit tests diff --git a/src/app/page.tsx b/src/app/docs/page.tsx similarity index 99% rename from src/app/page.tsx rename to src/app/docs/page.tsx index 21cdb5b..7c1cf14 100644 --- a/src/app/page.tsx +++ b/src/app/docs/page.tsx @@ -51,7 +51,7 @@ export default function Home() { fetchOptions.body = requestBody; } - const res = await fetch('/api/relay', fetchOptions); + const res = await fetch('/', fetchOptions); const elapsed = Date.now() - start; let responseText = ''; diff --git a/src/app/api/relay/route.ts b/src/app/route.ts similarity index 100% rename from src/app/api/relay/route.ts rename to src/app/route.ts