fix: not checking referrer as this causes issues with cloudflare

This commit is contained in:
2025-11-15 15:26:21 +00:00
parent 618614e702
commit b12a333d8a

View File

@ -16,7 +16,7 @@ const allowCors = async (_: Request): Promise<Response> => {
type Handler = (req: Request) => Promise<Response>; type Handler = (req: Request) => Promise<Response>;
type Middleware = (fn: Handler) => Handler; type Middleware = (fn: Handler) => Handler;
const withCors = (fn: Handler): Handler => { const withCors: Middleware = (fn) => {
return async (req) => { return async (req) => {
const res = await fn(req); const res = await fn(req);
@ -42,7 +42,7 @@ const getColors = (status: number): Parameters<typeof styleText>[0] => {
} }
}; };
const withLogger = (fn: Handler): Handler => { const withLogger: Middleware = (fn) => {
return async (req) => { return async (req) => {
const res = await fn(req); const res = await fn(req);
@ -58,26 +58,14 @@ const withLogger = (fn: Handler): Handler => {
}; };
}; };
const withFrontendReferrer: Middleware = (fn) => {
return async (req) => {
const referrer = req.headers.get("referrer");
if (referrer !== ENV.FRONTEND_URL) {
return new Response(undefined, { status: 403 });
}
return fn(req);
};
};
const server = Bun.serve({ const server = Bun.serve({
port: ENV.PORT, port: ENV.PORT,
routes: { routes: {
"/health": new Response("alive!"), "/health": new Response("alive!"),
"/sign": { "/sign": {
GET: withFrontendReferrer(withLogger(withCors(getPetitions))), GET: withLogger(withCors(getPetitions)),
POST: withFrontendReferrer(withLogger(withCors(signPetition))), POST: withLogger(withCors(signPetition)),
OPTIONS: withFrontendReferrer(withLogger(allowCors)), OPTIONS: withLogger(allowCors),
}, },
}, },
}); });