diff --git a/services/web/app/src/infrastructure/Modules.js b/services/web/app/src/infrastructure/Modules.js index 43a81a0590..0157a4b852 100644 --- a/services/web/app/src/infrastructure/Modules.js +++ b/services/web/app/src/infrastructure/Modules.js @@ -81,6 +81,14 @@ function loadViewIncludes(app) { } } +function registerAppMiddleware(app) { + for (const module of _modules) { + if (module.appMiddleware) { + module.appMiddleware(app) + } + } +} + function moduleIncludes(view, locals) { const compiledPartials = _viewIncludes[view] || [] let html = '' @@ -144,6 +152,7 @@ module.exports = { loadViewIncludes, moduleIncludes, moduleIncludesAvailable, + registerAppMiddleware, hooks: { attach: attachHook, fire: fireHook, diff --git a/services/web/app/src/infrastructure/Server.js b/services/web/app/src/infrastructure/Server.js index 61ba7cf355..bf814d0d9f 100644 --- a/services/web/app/src/infrastructure/Server.js +++ b/services/web/app/src/infrastructure/Server.js @@ -132,6 +132,7 @@ app.set('views', Path.join(__dirname, '/../../views')) app.set('view engine', 'pug') Modules.loadViewIncludes(app) +Modules.registerAppMiddleware(app) app.use(bodyParser.urlencoded({ extended: true, limit: '2mb' })) app.use(bodyParser.json({ limit: Settings.max_json_request_size })) app.use(methodOverride())