web/app/api/dev-errors/route.tsblame
View source
9e346cc1import { NextResponse } from "next/server";
9e346cc2import { appendFile } from "fs/promises";
9e346cc3import { join } from "path";
9e346cc4
9e346cc5const LOG_PATH = join(process.cwd(), ".dev-errors.log");
9e346cc6
9e346cc7export async function POST(req: Request) {
9e346cc8 if (process.env.NODE_ENV === "production") {
9e346cc9 return NextResponse.json({ ok: false }, { status: 404 });
9e346cc10 }
9e346cc11
9e346cc12 const body = await req.json();
9e346cc13 const timestamp = new Date().toISOString();
9e346cc14 const entry = `[${timestamp}] ${body.type ?? "error"}: ${body.message ?? "unknown"}\n${body.stack ? body.stack + "\n" : ""}${body.url ? " url: " + body.url + "\n" : ""}---\n`;
9e346cc15
9e346cc16 await appendFile(LOG_PATH, entry);
9e346cc17 return NextResponse.json({ ok: true });
9e346cc18}
9e346cc19
9e346cc20export async function DELETE() {
9e346cc21 if (process.env.NODE_ENV === "production") {
9e346cc22 return NextResponse.json({ ok: false }, { status: 404 });
9e346cc23 }
9e346cc24
9e346cc25 const { writeFile } = await import("fs/promises");
9e346cc26 await writeFile(LOG_PATH, "");
9e346cc27 return NextResponse.json({ ok: true });
9e346cc28}