Draft: be able to inject middlewares from configuration

This commit is contained in:
Daniel García Aubert
2019-09-30 19:18:36 +02:00
parent b881bec668
commit 9cfaf6eefc
6 changed files with 44 additions and 8 deletions
+5 -3
View File
@@ -204,8 +204,10 @@ module.exports = class ApiRouter {
Object.keys(this.serverOptions.routes).forEach(apiVersion => {
const routes = this.serverOptions.routes[apiVersion];
const apiRouter = router({ mergeParams: true });
const apiMiddlewares = routes.middlewares || [];
apiMiddlewares.forEach(middleware => apiRouter.use(middleware()));
apiRouter.use(logger(this.serverOptions));
apiRouter.use(initializeStatusCode());
@@ -219,8 +221,8 @@ module.exports = class ApiRouter {
apiRouter.use(cors());
apiRouter.use(user());
this.templateRouter.register(apiRouter, routes.template.paths);
this.mapRouter.register(apiRouter, routes.map.paths);
this.templateRouter.register(apiRouter, routes.template.paths, routes.template.middlewares);
this.mapRouter.register(apiRouter, routes.map.paths, routes.map.middlewares);
apiRouter.use(sendResponse());
apiRouter.use(syntaxError());