From 8edc6724ea246ed32b9c0bd7cfd97e9b70245777 Mon Sep 17 00:00:00 2001 From: Joel Kronqvist Date: Fri, 13 May 2022 12:57:58 +0300 Subject: Changed ports to 443 AND 80. Added improper error handling when there are stats already for the day when adding them at exit. --- server.js | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) (limited to 'server.js') diff --git a/server.js b/server.js index 79fc50c..d112d76 100644 --- a/server.js +++ b/server.js @@ -1,5 +1,6 @@ //const http = require("http"); const https = require("https"); +const http = require("http"); const url = require("url"); const food = require("./food.js"); const SQL_DBS = require("./database.js"); @@ -96,34 +97,40 @@ async function init() res.end(); } - // start server - const runningServer = https.createServer(httpsOpts, server).listen(8080); + // start servers + const httpsServer = https.createServer(httpsOpts, server).listen(443); + const httpServer = http.createServer(server).listen(80); // stop server - async function closeServer() { + async function closeServers() { console.log("Updating stats to DB...") const uptime = Math.ceil((((new Date()).getTime() - startDate.getTime()) / 1000) / (24 * 60 * 60)); const monthOfStart = `${startDate.getMonth() + 1}`.padStart(2, "0"); const monthDayOfStart = `${startDate.getDate()}`.padStart(2, "0"); - await SQLDB.query("INSERT INTO stats VALUES (?, ?, ?, ?)", [ - `${startDate.getFullYear()}-${monthOfStart}-${monthDayOfStart}`, - uptime, - visitorCount, - Math.round(visitorCount / uptime) - ]); + try { + await SQLDB.query("INSERT INTO stats VALUES (?, ?, ?, ?)", [ + `${startDate.getFullYear()}-${monthOfStart}-${monthDayOfStart}`, + uptime, + visitorCount, + Math.round(visitorCount / uptime) + ]); + } catch(e) { + console.log(`\nERROR! Probably because updating the statistics several times a day is not supported, at least yet. Here's the error:\n${e}\n`); + } console.log("Done. Shutting down..."); await SQLDB.close(); - console.log("MySQL closed"); - runningServer.close(); - console.log("Server shut down"); + console.log("MySQL connection closed"); + httpsServer.close(); + httpServer.close(); + console.log("Servers shut down"); console.log("Process exiting..."); process.exit(0); } - process.on("SIGINT", closeServer); - process.on("SIGQUIT", closeServer); - process.on("SIGTERM", closeServer); + process.on("SIGINT", closeServers); + process.on("SIGQUIT", closeServers); + process.on("SIGTERM", closeServers); } -- cgit v1.2.3