Files
2026-08-24 22:20:36 +02:00

56 lines
1.4 KiB
JavaScript

const fs = require("fs/promises");
const redis = require("../../Miscellaneous/redis");
module.exports = async (res, req) => {
const cookieHeader = req.getHeader("cookie");
const cookie = cookieHeader.split("ps=")[1];
res.onAborted(() => res.isAborted = true);
if (!cookie) {
console.info("no cookie");
return res
.writeStatus("301 moved permanently")
.writeHeader("Location", "redirect")
.end();
};
const formattedCookie = cookie.split(".")[0].slice(4);
const cookieInDB = await redis.get(`sess:${formattedCookie}`);
if (!cookieInDB) {
console.info("no db");
return res
.writeStatus("301 moved permanently")
.writeHeader("Location", "redirect")
.end();
};
const parsedCookie = JSON.parse(cookieInDB);
if (!parsedCookie.accountID) {
console.info("no account id");
return res
.writeStatus("301 moved permanently")
.writeHeader("Location", "redirect")
.end();
};
const html = await fs.readFile("../../TestEnvironment/dist/production/index.html")
.catch(e => {
res.cork(() => {
res
.writeStatus("404")
.end();
});
});
if (!html) return;
res.cork(() => {
res
.writeStatus("200 OK")
.writeHeader("Content-Type", "text/html")
.end(html);
});
}