fix: separate 400/500 error cases in feedback proxy route

This commit is contained in:
2026-03-30 19:14:19 -04:00
parent 8e33a5497a
commit 89e39e7b18
+13 -8
View File
@@ -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 })
}
}