fix: add logs
This commit is contained in:
parent
0fd67c6f48
commit
996eafd0cb
2 changed files with 38 additions and 0 deletions
24
src/middleware.ts
Normal file
24
src/middleware.ts
Normal 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'],
|
||||
}
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue