alapa
Version:
A cutting-edge web development framework designed to revolutionize the way developers build modern web applications.
62 lines (61 loc) • 3 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.activateGlobalMiddleware = void 0;
const express_1 = __importDefault(require("express"));
const cookie_parser_1 = __importDefault(require("cookie-parser"));
const template_context_1 = require("./template-context");
const express_session_1 = __importDefault(require("express-session"));
const body_parser_1 = __importDefault(require("body-parser"));
// eslint-disable-next-line @typescript-eslint/no-require-imports
const csrf = require("@dr.pogodin/csurf");
const connect_flash_1 = __importDefault(require("connect-flash"));
const csrf_error_1 = require("./csrf-error");
const configuration_1 = require("../session/configuration");
const manage_cookie_session_1 = require("./manage-cookie-session");
const request_logger_1 = require("./request-logger");
const server_context_1 = require("./server-context");
const method_1 = require("./method");
const change_responses_1 = require("./change-responses");
const express_fileupload_1 = __importDefault(require("express-fileupload"));
const get_temp_dir_1 = require("../../utils/get-temp-dir");
const general_1 = require("./general");
const cors_1 = __importDefault(require("cors"));
const set_view_1 = require("./set-view");
const activate_api_route_1 = require("../../core/kernel/activate-api-route");
const route_1 = require("../../api/docs-generator/route");
const activateGlobalMiddleware = async (app, config) => {
// const apiRoutes = await getApiRoutes(config);
const middlewares = [
change_responses_1.changeResponses,
general_1.generalMiddleware,
body_parser_1.default.urlencoded({ extended: false }),
express_1.default.urlencoded({ extended: true }),
express_1.default.static(config.view.staticFilesPath ?? "static"),
method_1.changeMethod,
(0, cors_1.default)(),
(0, express_session_1.default)(configuration_1.sessionConfiguration),
(0, express_fileupload_1.default)({ useTempFiles: true, tempFileDir: (0, get_temp_dir_1.getTempDirectory)() }),
(0, cookie_parser_1.default)(),
express_1.default.json(),
manage_cookie_session_1.manageCookiesSession,
// apiRoutes(),
(0, connect_flash_1.default)(),
(0, activate_api_route_1.apiRoutes)(),
csrf({ cookie: process.env.NODE_ENV === "development" }),
template_context_1.templateContextMiddleware,
server_context_1.ServerContextMiddleware,
csrf_error_1.csrfErrorHandler,
];
(0, set_view_1.setViews)(app);
app.all("*", request_logger_1.requestLoggerMiddleware);
middlewares.forEach((middleware) => {
app.use(middleware);
});
app.set("trust proxy", true);
(0, route_1.activateDocsRoute)(app);
// app.all("*", );
};
exports.activateGlobalMiddleware = activateGlobalMiddleware;