13 lines
990 B
JavaScript
13 lines
990 B
JavaScript
const API_BASE = process.env.API_INTERNAL_URL || 'http://pk-lab-api:8000';
|
|
async function forward(request, context) {
|
|
const { path } = await context.params;
|
|
const incoming = new URL(request.url);
|
|
const target = new URL(`/api/${path.join('/')}${incoming.search}`, API_BASE);
|
|
const headers = new Headers();
|
|
for (const name of ['authorization', 'content-type', 'accept']) { const value = request.headers.get(name); if (value) headers.set(name, value); }
|
|
const response = await fetch(target, { method: request.method, headers, body: ['GET','HEAD'].includes(request.method) ? undefined : await request.arrayBuffer(), cache: 'no-store' });
|
|
return new Response(response.body, { status: response.status, headers: { 'content-type': response.headers.get('content-type') || 'application/json' } });
|
|
}
|
|
export const dynamic = 'force-dynamic';
|
|
export const GET = forward; export const POST = forward; export const PUT = forward; export const PATCH = forward; export const DELETE = forward;
|