Skip to content

Commit 98d90ea

Browse files
committed
fix: add CORS headers for flexurl.link origin
1 parent 9b80f71 commit 98d90ea

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

app/api/create/route.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,34 @@
11
import { NextRequest, NextResponse } from 'next/server';
22
import { createLink } from '@/lib/actions';
33

4+
const CORS_HEADERS = {
5+
'Access-Control-Allow-Origin': 'https://flexurl.link',
6+
'Access-Control-Allow-Methods': 'POST, OPTIONS',
7+
'Access-Control-Allow-Headers': 'Content-Type',
8+
};
9+
10+
export async function OPTIONS() {
11+
return new NextResponse(null, { status: 204, headers: CORS_HEADERS });
12+
}
13+
414
export async function POST(req: NextRequest) {
515
try {
616
const body = await req.json();
717
const { url, customId, expiresAt } = body;
818

919
if (!url || typeof url !== 'string') {
10-
return NextResponse.json({ error: 'URL is required' }, { status: 400 });
20+
return NextResponse.json({ error: 'URL is required' }, { status: 400, headers: CORS_HEADERS });
1121
}
1222

1323
const result = await createLink(url, customId, expiresAt);
1424

1525
if (result.error) {
16-
return NextResponse.json({ error: result.error }, { status: 400 });
26+
return NextResponse.json({ error: result.error }, { status: 400, headers: CORS_HEADERS });
1727
}
1828

19-
return NextResponse.json(result);
29+
return NextResponse.json(result, { headers: CORS_HEADERS });
2030
} catch (error) {
2131
console.error('Create API error:', error);
22-
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
32+
return NextResponse.json({ error: 'Internal server error' }, { status: 500, headers: CORS_HEADERS });
2333
}
2434
}

0 commit comments

Comments
 (0)