//Imports
const express = require("express");
const cors = require("cors");
const bodyParser = require("body-parser");
const bearerToken = require("express-bearer-token");
//Local Imports
const { Web, StatusCode, Server } = require("./config.json");
//Import Routers
const stashRouter = require("./routes/stash");
//Define Constants & Setup Database
const app = express();
const port = Server.Port;
const debuggingMode = Server.Debug;
const viewOptions = { beautify: false };
const corsOptions = {
origin: "*",
optionsSuccessStatus: 200,
};
//Set Up Express session and View engine
app.use(cors(corsOptions));
app.use(bearerToken());
app.use(bodyParser.json({ limit: Server.BodyLimit })); // parse application/json
app.use(bodyParser.urlencoded({ limit: Server.BodyLimit, extended: false })); // parse application/x-www-form-urlencoded
//Test if there is a
app.use("/api/stash", stashRouter);
const startServer = () => {
server = app.listen(port, () => {
console.log("Node version:" + process.versions.node);
console.log(`Duneserver listening on port ${port}!`);
});
server.timeout = 10 * 60 * 1000;
server.on("connection", (socket) => {
// 10 minutes timeout
socket.setTimeout(10 * 60 * 1000);
process.on("SIGINT", () => {
console.log("Recieved Shutdown Signal!");
process.exit();
startServer();