Files
stats/packages/sdks/nextjs/createNextRouteHandler.ts
2024-11-16 21:38:47 +01:00

24 lines
620 B
TypeScript

// adding .js next/script import fixes an issues
// with esm and nextjs (when using pages dir)
import { NextResponse } from 'next/server.js';
export function createNextRouteHandler({
apiUrl = 'https://api.openpanel.dev',
}: {
apiUrl?: string;
}) {
return async function POST(req: Request) {
const headers = new Headers(req.headers);
try {
const res = await fetch(`${apiUrl}/track`, {
method: 'POST',
headers,
body: JSON.stringify(await req.json()),
});
return NextResponse.json(await res.text());
} catch (e) {
return NextResponse.json(e);
}
};
}