@restmatic/server
Version:
The core Pomegranate plugins for RestMatic
33 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/**
* @file PreRouter
* @author Jim Bulkowski <jim.b@paperelectron.com>
* @project server
* @license MIT {@link http://opensource.org/licenses/MIT}
*/
const fp_1 = require("lodash/fp");
const plugin_tools_1 = require("@pomegranate/plugin-tools");
const ExtractMiddleware_1 = require("./helpers/ExtractMiddleware");
exports.PreRouter = plugin_tools_1.CreatePlugin('action')
.configuration({
name: 'PreRouter',
depends: ['@restmatic/StaticFiles']
})
.variables({
middlewareOrder: ['compression', 'serveStatic', 'responseTime', 'logger']
})
.hooks({
load: (PluginInjector, PluginLogger, PluginVariables, Middleware, Express) => {
PluginLogger.log('Configuring Pre-route Middleware', 1);
fp_1.each((available) => {
PluginLogger.log(`Available Middleware: ${available}`, 2);
}, fp_1.keys(Middleware));
let MountMiddleware = ExtractMiddleware_1.extractMiddleware(Middleware);
fp_1.each((mw) => {
PluginLogger.log(`Using Middleware: ${mw.name}.`);
Express.use(mw.fn);
}, MountMiddleware(PluginVariables.middlewareOrder));
}
});
//# sourceMappingURL=PreRouter.js.map