mirror of
https://gitea.smigz.com/smiggiddy/odin-codeprojects.git
synced 2025-04-17 07:19:00 -04:00
42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
const express = require("express");
|
|
const app = express();
|
|
|
|
const path = require("node:path");
|
|
const port = 3000;
|
|
|
|
const { indexRouter } = require("./routes/indexRouter");
|
|
|
|
app.set("views", path.join(__dirname, "views"));
|
|
app.set("view engine", "ejs");
|
|
|
|
const assetsPath = path.join(__dirname, "public");
|
|
app.use(express.static(assetsPath));
|
|
|
|
app.use(express.urlencoded({ extended: true }));
|
|
|
|
//Logging
|
|
app.use((req, res, next) => {
|
|
req.time = new Date(Date.now()).toISOString();
|
|
const clientIp = req.header("cf_connecting_ip") || req.socket.remoteAddress;
|
|
console.log(req.time, req.method, req.hostname, req.path, clientIp);
|
|
next();
|
|
});
|
|
|
|
app.use("/", indexRouter);
|
|
|
|
const server = app.listen(port, () => {
|
|
console.log(`Webserver running on ${port}.`);
|
|
});
|
|
|
|
// Shutdown Logic
|
|
const gracefulShutdownHandler = (signal) => {
|
|
console.log(`Caught ${signal}, gracefully shutting down`);
|
|
|
|
server.close(() => {
|
|
console.log(`Shutting down server`);
|
|
process.exit();
|
|
});
|
|
};
|
|
|
|
process.on("SIGINT", gracefulShutdownHandler);
|
|
process.on("SIGTERM", gracefulShutdownHandler);
|