import { NextRequest, NextResponse } from 'next/server' const BACKEND_URL = process.env.BACKEND_URL || 'http://backend-lehrer:8001' async function proxyRequest( request: NextRequest, { params }: { params: Promise<{ path: string[] }> } ): Promise { const { path } = await params const pathStr = path.join('/') const searchParams = request.nextUrl.searchParams.toString() const url = `${BACKEND_URL}/api/progress/${pathStr}${searchParams ? `?${searchParams}` : ''}` try { const fetchOptions: RequestInit = { method: request.method, headers: { 'Content-Type': 'application/json' }, } if (request.method !== 'GET' && request.method !== 'HEAD') { fetchOptions.body = await request.text() } const resp = await fetch(url, fetchOptions) const data = await resp.text() return new NextResponse(data, { status: resp.status, headers: { 'Content-Type': resp.headers.get('Content-Type') || 'application/json' }, }) } catch (e) { return NextResponse.json({ error: String(e) }, { status: 502 }) } } export const GET = proxyRequest export const POST = proxyRequest