fix: add logs

This commit is contained in:
Benno Tielen 2026-02-27 22:16:27 +01:00
parent 0fd67c6f48
commit 996eafd0cb
2 changed files with 38 additions and 0 deletions

24
src/middleware.ts Normal file
View file

@ -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'],
}

View file

@ -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"
}