From 996eafd0cba3cca51ae8cb93d228d62cd60f7f7c Mon Sep 17 00:00:00 2001 From: Benno Tielen Date: Fri, 27 Feb 2026 22:16:27 +0100 Subject: [PATCH] fix: add logs --- src/middleware.ts | 24 ++++++++++++++++++++++++ src/utils/actions.ts | 14 ++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 src/middleware.ts diff --git a/src/middleware.ts b/src/middleware.ts new file mode 100644 index 0000000..949abfc --- /dev/null +++ b/src/middleware.ts @@ -0,0 +1,24 @@ +import { NextResponse } from 'next/server' +import type { NextRequest } from 'next/server' + +export function middleware(request: NextRequest) { + if (request.method === 'POST') { + console.log('[Middleware] POST request received', { + path: request.nextUrl.pathname, + method: request.method, + contentType: request.headers.get('content-type'), + userAgent: request.headers.get('user-agent'), + referer: request.headers.get('referer'), + nextAction: request.headers.get('next-action'), + accept: request.headers.get('accept'), + protocol: request.headers.get('x-forwarded-proto'), + ip: request.headers.get('x-forwarded-for'), + }) + } + + return NextResponse.next() +} + +export const config = { + matcher: ['/kontakt'], +} diff --git a/src/utils/actions.ts b/src/utils/actions.ts index 4035815..a42c2ed 100644 --- a/src/utils/actions.ts +++ b/src/utils/actions.ts @@ -13,6 +13,11 @@ import { isSpam } from '@/utils/detectSpam' */ export async function send(toEmail: string, prevState: any, formData: FormData) { + console.log('[ServerAction] send() entered', { + toEmail, + formKeys: [...formData.keys()], + }) + const schema = z.object({ email: z.email().max(100), subject: z.string().max(150), @@ -28,18 +33,24 @@ export async function send(toEmail: string, prevState: any, formData: FormData) }) if (!validatedFields.success) { + console.log('[ServerAction] Validation failed', validatedFields.error.flatten().fieldErrors) return { errors: validatedFields.error.flatten().fieldErrors, message: "Nicht alle Felder waren gültig" } } + console.log('[ServerAction] Validation passed, checking spam') + if (isSpam(validatedFields.data.message)) { + console.log('[ServerAction] Spam detected') return { message: "Ihre Nachricht wurde als unerwünschte Werbung eingestuft und nicht gesendet." } } + console.log('[ServerAction] Sending email via Resend') + try { const resend = new Resend(process.env.RESEND_API_KEY); await resend.emails.send({ @@ -50,9 +61,12 @@ export async function send(toEmail: string, prevState: any, formData: FormData) text: `Nachricht von ${validatedFields.data.name} (${validatedFields.data.email}): \n\n ${validatedFields.data.message}` }); } catch (e) { + console.error('[ServerAction] Resend error:', e) return { message: "Fehler beim senden der Nachricht." }; } + console.log('[ServerAction] Email sent successfully') + return { message: "Ihre Nachricht wurde erfolgreich übermittelt" }