| 9e346cc | | | 1 | import { NextResponse } from "next/server"; |
| 9e346cc | | | 2 | import { appendFile } from "fs/promises"; |
| 9e346cc | | | 3 | import { join } from "path"; |
| 9e346cc | | | 4 | |
| 9e346cc | | | 5 | const LOG_PATH = join(process.cwd(), ".dev-errors.log"); |
| 9e346cc | | | 6 | |
| 9e346cc | | | 7 | export async function POST(req: Request) { |
| 9e346cc | | | 8 | if (process.env.NODE_ENV === "production") { |
| 9e346cc | | | 9 | return NextResponse.json({ ok: false }, { status: 404 }); |
| 9e346cc | | | 10 | } |
| 9e346cc | | | 11 | |
| 9e346cc | | | 12 | const body = await req.json(); |
| 9e346cc | | | 13 | const timestamp = new Date().toISOString(); |
| 9e346cc | | | 14 | const entry = `[${timestamp}] ${body.type ?? "error"}: ${body.message ?? "unknown"}\n${body.stack ? body.stack + "\n" : ""}${body.url ? " url: " + body.url + "\n" : ""}---\n`; |
| 9e346cc | | | 15 | |
| 9e346cc | | | 16 | await appendFile(LOG_PATH, entry); |
| 9e346cc | | | 17 | return NextResponse.json({ ok: true }); |
| 9e346cc | | | 18 | } |
| 9e346cc | | | 19 | |
| 9e346cc | | | 20 | export async function DELETE() { |
| 9e346cc | | | 21 | if (process.env.NODE_ENV === "production") { |
| 9e346cc | | | 22 | return NextResponse.json({ ok: false }, { status: 404 }); |
| 9e346cc | | | 23 | } |
| 9e346cc | | | 24 | |
| 9e346cc | | | 25 | const { writeFile } = await import("fs/promises"); |
| 9e346cc | | | 26 | await writeFile(LOG_PATH, ""); |
| 9e346cc | | | 27 | return NextResponse.json({ ok: true }); |
| 9e346cc | | | 28 | } |