let saveTimeout = null;
let running = true;
+const server = http.createServer(handleRequest);
function saveGames(exit) {
fs.writeFile("games.backup.json", JSON.stringify(games), function (err) {
}
if (exit) {
- // eslint-disable-next-line no-process-exit
- process.exit(0);
+ server.close();
}
});
dateNow = Date.now();
debuglog("RECEIVED", request.url, post, responseAndIsES[1]);
- handleCommands(post && JSON.parse(post), responseAndIsES);
+
+ try {
+ post = post && JSON.parse(post);
+ } catch (e) {
+ response.statusCode = 400;
+ response.setHeader("application/json");
+ response.end('{"error":1, "reason": "Unable to parse your JSON data"}');
+ return;
+ }
+
+ handleCommands(post, responseAndIsES);
});
}
console.error("WARNING: ", e);
}
- http.createServer(handleRequest).listen(port, function() {
+ server.on("error", function (error) {
+ console.error("An error happened in the HTTP server", error);
+ });
+
+ server.listen(port, function() {
console.log("Server listening on: http://localhost:%s", port);
});
});
console.log("SIGTERM received...");
stop();
});
+
+process.on("uncaughtException", function (err) {
+ console.log(err);
+});