diff --git a/app/api/feedback/route.ts b/app/api/feedback/route.ts index 0f0abef..f2298e2 100644 --- a/app/api/feedback/route.ts +++ b/app/api/feedback/route.ts @@ -3,19 +3,24 @@ import { NextRequest, NextResponse } from 'next/server' const API_BASE_URL = process.env.API_BASE_URL || process.env.NEXT_PUBLIC_API_BASE_URL export async function POST(req: NextRequest) { + let body: unknown try { - const body = await req.json() + body = await req.json() + } catch { + return NextResponse.json({ error: 'Invalid request' }, { status: 400 }) + } - const ip = - req.headers.get('x-forwarded-for')?.split(',')[0]?.trim() ?? - req.headers.get('x-real-ip') ?? - 'unknown' - const userAgent = req.headers.get('user-agent') ?? 'unknown' + const ip = + req.headers.get('x-forwarded-for')?.split(',')[0]?.trim() ?? + req.headers.get('x-real-ip') ?? + 'unknown' + const userAgent = req.headers.get('user-agent') ?? 'unknown' + try { const res = await fetch(`${API_BASE_URL}/api/v1/feedback`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ ...body, ipAddress: ip, userAgent }), + body: JSON.stringify({ ...(body as object), ipAddress: ip, userAgent }), cache: 'no-store', }) @@ -28,6 +33,6 @@ export async function POST(req: NextRequest) { return NextResponse.json({ ok: true }) } catch (e) { console.error('[/api/feedback] proxy error:', e) - return NextResponse.json({ error: 'Invalid request' }, { status: 400 }) + return NextResponse.json({ error: 'Service unavailable' }, { status: 500 }) } }