fix live leaderbord details

This commit is contained in:
larssand
2026-08-28 21:12:43 +02:00
parent 3cf68cf34a
commit c6262aceab
15 changed files with 293 additions and 34 deletions

View File

@@ -59,13 +59,33 @@ const ammcState = {
};
const app = express();
const allowedCorsOrigins = new Set(
String(process.env.RC_ALLOWED_ORIGINS || "")
.split(",")
.map((origin) => origin.trim().replace(/\/$/, ""))
.filter(Boolean)
);
app.use(express.json({ limit: "20mb" }));
app.use((req, res, next) => {
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS");
res.setHeader("Access-Control-Allow-Headers", "Content-Type");
res.setHeader("X-Content-Type-Options", "nosniff");
res.setHeader("Referrer-Policy", "no-referrer");
const requestOrigin = `${req.protocol}://${req.get("host")}`;
const origin = String(req.get("origin") || "").replace(/\/$/, "");
const corsAllowed = !origin || origin === requestOrigin || allowedCorsOrigins.has(origin);
if (!corsAllowed) {
res.status(403).end();
return;
}
if (origin) {
res.setHeader("Access-Control-Allow-Origin", origin);
res.setHeader("Vary", "Origin");
res.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS");
res.setHeader("Access-Control-Allow-Headers", "Content-Type");
}
if (req.method === "OPTIONS") {
res.status(204).end();
res.status(corsAllowed ? 204 : 403).end();
return;
}
next();