import { NextRequest, NextResponse } from "next/server"; const BACKEND = process.env.HERMES_BACKEND_URL || "http://127.0.0.1:8643"; export async function GET(req: NextRequest, { params }: { params: Promise<{ path: string[] }> }) { const { path } = await params; const target = path.join("/"); const qs = req.nextUrl.search; const res = await fetch(`${BACKEND}/api/${target}${qs}`); const data = await res.text(); return new NextResponse(data, { status: res.status, headers: { "content-type": res.headers.get("content-type") || "application/json" }, }); } export async function POST(req: NextRequest, { params }: { params: Promise<{ path: string[] }> }) { const { path } = await params; const target = path.join("/"); const body = await req.text(); const res = await fetch(`${BACKEND}/api/${target}`, { method: "POST", headers: { "content-type": "application/json" }, body, }); const data = await res.text(); return new NextResponse(data, { status: res.status, headers: { "content-type": res.headers.get("content-type") || "application/json" }, }); } export async function PATCH(req: NextRequest, { params }: { params: Promise<{ path: string[] }> }) { const { path } = await params; const target = path.join("/"); const body = await req.text(); const res = await fetch(`${BACKEND}/api/${target}`, { method: "PATCH", headers: { "content-type": "application/json" }, body, }); const data = await res.text(); return new NextResponse(data, { status: res.status, headers: { "content-type": res.headers.get("content-type") || "application/json" }, }); } export async function DELETE(req: NextRequest, { params }: { params: Promise<{ path: string[] }> }) { const { path } = await params; const target = path.join("/"); const body = await req.text(); const res = await fetch(`${BACKEND}/api/${target}`, { method: "DELETE", headers: { "content-type": "application/json" }, body: body || undefined, }); const data = await res.text(); return new NextResponse(data, { status: res.status, headers: { "content-type": res.headers.get("content-type") || "application/json" }, }); }