gypsum
Version:
Simple and easy lightweight typescript server side framework on Node.js.
37 lines • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const compress = require("compression");
const cookieParser = require("cookie-parser");
const bodyParser = require("body-parser");
const methodOverride = require("method-override");
const state_1 = require("../../state");
const search_query_1 = require("../../middlewares/search-query");
const logger_1 = require("../../misc/logger");
function configure(expressApp, app, logger) {
logger = logger || new logger_1.Logger(app ? app.name : 'express');
if (state_1.State.env === 'production')
expressApp.use(compress());
expressApp.use((req, res, next) => {
logger.info(`request: ${req.method} - ${req.protocol}://${req.hostname}${req.originalUrl}`);
if (app && 'onRequest' in app)
app.onRequest(req, res, next);
else
next();
});
if (app) {
if (app.name === 'root') {
logger.info('impliminting express middlewares..');
expressApp.use(cookieParser(state_1.State.config.cookie_key));
expressApp.use(bodyParser.urlencoded({ extended: true }));
expressApp.use(bodyParser.json({ limit: `${state_1.State.config.upload_size_limit_mb}mb` }));
expressApp.use(methodOverride());
expressApp.use(search_query_1.searchQuery);
}
if ('middlewares' in app) {
app.middlewares(expressApp);
}
}
expressApp.disable('x-powered-by');
}
exports.configure = configure;
//# sourceMappingURL=configure_app.js.map