// app/api/track/route.ts
import { NextRequest, NextResponse } from "next/server";
export async function GET(request: NextRequest) {
const searchParams = request.nextUrl.searchParams;
const postmetricUrl = `https://your-postmetric-domain.com/api/track?${searchParams.toString()}`;
try {
const response = await fetch(postmetricUrl);
const pixel = await response.arrayBuffer();
return new NextResponse(pixel, {
headers: {
"Content-Type": "image/gif",
"Cache-Control": "no-cache, no-store, must-revalidate",
},
});
} catch (error) {
// Return 1x1 transparent pixel on error
const pixel = Buffer.from(
"R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
"base64"
);
return new NextResponse(pixel, {
headers: {
"Content-Type": "image/gif",
},
});
}
}