import { NextRequest, NextResponse } from 'next/server'; export const dynamic = 'force-dynamic'; const BACKEND_URL = process.env.BACKEND_URL || 'http://localhost:3000'; /** * Futures proxy (Wave 2A, S25 rule). Forwards to the Express * `/api/futures/:sport` (quota-disciplined championship outrights). * Degrades to an empty-but-valid board so the hub never blows up. */ export async function GET(req: NextRequest, { params }: { params: Promise<{ sport: string }> }) { const { sport } = await params; const sportLc = String(sport || '').toLowerCase(); const qs = req.nextUrl.search; try { const upstream = await fetch(`${BACKEND_URL}/api/futures/${encodeURIComponent(sportLc)}${qs}`, { method: 'GET', headers: { Accept: 'application/json' }, }); const data = await upstream.json().catch(() => ({})); if (!upstream.ok) return NextResponse.json(data, { status: upstream.status }); return NextResponse.json(data); } catch { return NextResponse.json({ sport: sportLc, updated_at: new Date().toISOString(), markets: [] }); } }