import http from "node:http"; const port = Number(process.env.FIXTURE_PORT ?? 3101); const start = new Date(Date.now() + 7 * 24 * 60 * 60 * 1_000); const end = new Date(start.getTime() + 2 * 60 * 60 * 1_000); function icsDate(date) { return date.toISOString().replace(/[-:]/g, "").replace(/\.\d{3}Z$/, "Z"); } const calendar = `BEGIN:VCALENDAR\r VERSION:2.0\r PRODID:-//Website Starter E2E//DE\r BEGIN:VEVENT\r UID:e2e-special-event\r SUMMARY:E2E Beispieltermin\r LOCATION:Beispielort\r DTSTART:${icsDate(start)}\r DTEND:${icsDate(end)}\r END:VEVENT\r END:VCALENDAR\r `; const server = http.createServer((_request, response) => { response.writeHead(200, { "content-type": "text/calendar; charset=utf-8" }); response.end(calendar); }); server.listen(port, "127.0.0.1", () => { console.log(`ICS fixture listening on http://127.0.0.1:${port}`); }); for (const signal of ["SIGINT", "SIGTERM"]) { process.on(signal, () => server.close(() => process.exit(0))); }