wangzhibo
2026-05-09 53418655c061ac26f66058253f39200aced1ab1d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createApp = createApp;
const express_1 = __importDefault(require("express"));
const express_session_1 = __importDefault(require("express-session"));
const node_path_1 = __importDefault(require("node:path"));
const node_url_1 = require("node:url");
const loadConfig_js_1 = require("./config/loadConfig.js");
const boardRouter_js_1 = require("./routes/boardRouter.js");
const __dirname = node_path_1.default.dirname((0, node_url_1.fileURLToPath)(import.meta.url));
function createApp() {
    const appCfg = (0, loadConfig_js_1.loadAppConfig)();
    const app = (0, express_1.default)();
    if (appCfg.trustProxy) {
        app.set("trust proxy", 1);
    }
    app.use((0, express_session_1.default)({
        name: "board.sid",
        secret: appCfg.sessionSecret,
        resave: false,
        saveUninitialized: false,
        cookie: {
            path: "/",
            httpOnly: true,
            secure: appCfg.cookieSecure,
            sameSite: appCfg.cookieSameSite,
            maxAge: appCfg.sessionMaxAgeMs,
        },
    }));
    app.set("views", node_path_1.default.join(__dirname, "../views"));
    app.set("view engine", "ejs");
    app.use("/board", (0, boardRouter_js_1.createBoardRouter)(appCfg));
    app.use((_req, res) => {
        res.status(404).send("Not Found");
    });
    return { app, appCfg };
}
//# sourceMappingURL=app.js.map