import { NextResponse } from 'next/server'; import { withAuth } from '../../../lib/with-auth'; export const POST = withAuth(async (request, session) => { try { const contentType = request.headers.get('content-type') ?? ''; const isMultipart = contentType.includes('multipart/form-data'); const backendUrl = process.env.NEXT_PUBLIC_API_URL_INTERNAL || 'http://recipe-api:8080'; const response = await fetch(`${backendUrl}/api/quick-import`, { method: 'POST', body: isMultipart ? await request.formData() : JSON.stringify(await request.json()), headers: isMultipart ? { Authorization: `Bearer ${session.accessToken}` } : { 'Content-Type': 'application/json', Authorization: `Bearer ${session.accessToken}` }, cache: 'no-store', }); const text = await response.text(); try { const parsed = JSON.parse(text); // eslint-disable-next-line no-console console.log('[QuickImportProxy] backend response', { status: response.status, hasMarkdown: Boolean(parsed?.markdown), imageUrl: parsed?.imageUrl ?? null, imageWarning: parsed?.imageWarning ?? null, }); } catch { // eslint-disable-next-line no-console console.log('[QuickImportProxy] backend non-json response', { status: response.status, contentType: response.headers.get('content-type'), }); } return new NextResponse(text, { status: response.status, headers: { 'Content-Type': response.headers.get('content-type') ?? 'application/json' }, }); } catch (error) { console.error('[QuickImportProxy] EXCEPTION:', error); return NextResponse.json({ message: 'Kunde inte nå importtjänsten.' }, { status: 503 }); } });