Files
PantryHub/config/express.js
T
2026-07-26 22:18:52 +02:00

93 lines
1.4 KiB
JavaScript

const express = require("express");
const helmet = require("helmet");
const compression = require("compression");
const morgan = require("morgan");
const cookieParser = require("cookie-parser");
const path = require("path");
const expressLayouts = require("express-ejs-layouts");
const flash = require("connect-flash");
const userMiddleware = require("../middleware/user");
const session = require("./session");
module.exports = () => {
const app = express();
app.set("view engine", "ejs");
app.set(
"views",
path.join(__dirname, "../views")
);
app.use(expressLayouts);
app.set(
"layout",
"layouts/main"
);
app.use(
helmet({
contentSecurityPolicy: false
})
);
app.use(compression());
app.use(morgan("dev"));
app.use(cookieParser());
app.use(
express.urlencoded({
extended: true
})
);
app.use(express.json());
app.use(session);
app.use(userMiddleware);
app.use(flash());
app.use(
express.static(
path.join(__dirname, "../public")
)
);
app.use(
"/",
require("../routes/auth")
);
app.use(
"/",
require("../routes/web")
);
app.use((req, res) => {
res.status(404)
.render("errors/404");
});
return app;
};