diff --git a/apps/commandboard-web/server.js b/apps/commandboard-web/server.js index 6a61e34..73be072 100644 --- a/apps/commandboard-web/server.js +++ b/apps/commandboard-web/server.js @@ -8,7 +8,7 @@ const appDirectory = fileURLToPath(new URL(".", import.meta.url)); const distDirectory = resolve(appDirectory, "dist"); const indexFile = join(distDirectory, "index.html"); const apiServer = createCommandBoardServer(); -const port = Number(process.env.PORT ?? 4173); +const port = readPort(process.env.PORT, 4173); const mimeTypes = { ".css": "text/css; charset=utf-8", @@ -67,6 +67,11 @@ function resolveStaticPath(pathname) { return indexFile; } +function readPort(value, fallback) { + const parsed = Number(value ?? fallback); + return Number.isInteger(parsed) && parsed > 0 && parsed <= 65535 ? parsed : fallback; +} + function sendFile(file, headOnly, response) { if (!existsSync(file)) { response.writeHead(500, { "content-type": "text/plain; charset=utf-8" });