diff --git a/src/plugins/hooks.js b/src/plugins/hooks.js index aa471af6a8..8a5d1a885d 100644 --- a/src/plugins/hooks.js +++ b/src/plugins/hooks.js @@ -3,6 +3,7 @@ const winston = require('winston'); const plugins = require('.'); const utils = require('../utils'); +const als = require('../als'); const Hooks = module.exports; @@ -185,7 +186,6 @@ Hooks.fire = async function (hook, params) { } let deleteCaller = false; if (params && typeof params === 'object' && !Array.isArray(params) && !params.hasOwnProperty('caller')) { - const als = require('../als'); params.caller = als.getStore(); deleteCaller = true; } diff --git a/src/routes/helpers.js b/src/routes/helpers.js index b43f53fd3e..34a455076e 100644 --- a/src/routes/helpers.js +++ b/src/routes/helpers.js @@ -16,6 +16,7 @@ helpers.setupPageRoute = function (...args) { } middlewares = [ + middleware.autoLocale, middleware.applyBlacklist, middleware.authenticateRequest, middleware.redirectToHomeIfBanned, @@ -44,7 +45,7 @@ helpers.setupAdminPageRoute = function (...args) { if (args.length === 5) { winston.warn(`[helpers.setupAdminPageRoute(${name})] passing \`middleware\` as the third param is deprecated, it can now be safely removed`); } - router.get(name, middleware.admin.buildHeader, middlewares, helpers.tryRoute(controller)); + router.get(name, middleware.autoLocale, middleware.admin.buildHeader, middlewares, helpers.tryRoute(controller)); router.get(`/api${name}`, middlewares, helpers.tryRoute(controller)); }; @@ -55,6 +56,7 @@ helpers.setupApiRoute = function (...args) { const controller = args[args.length - 1]; middlewares = [ + middleware.autoLocale, middleware.applyBlacklist, middleware.authenticateRequest, middleware.maintenanceMode, diff --git a/src/socket.io/index.js b/src/socket.io/index.js index bef29f7e66..43804c22d3 100644 --- a/src/socket.io/index.js +++ b/src/socket.io/index.js @@ -14,6 +14,8 @@ const logger = require('../logger'); const plugins = require('../plugins'); const ratelimit = require('../middleware/ratelimit'); const blacklist = require('../meta/blacklist'); +const als = require('../als'); +const apiHelpers = require('../api/helpers'); const Namespaces = Object.create(null); @@ -88,8 +90,7 @@ function onConnection(socket) { onConnect(socket); socket.onAny((event, ...args) => { const payload = { event: event, ...deserializePayload(args) }; - const als = require('../als'); - const apiHelpers = require('../api/helpers'); + als.run({ uid: socket.uid, req: apiHelpers.buildReqObject(socket, payload), diff --git a/src/webserver.js b/src/webserver.js index fac7fe1e98..46455f104e 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -182,7 +182,6 @@ function setupExpressApp(app) { req: apiHelpers.buildReqObject(req), }, next); }); - app.use(middleware.autoLocale); // must be added after auth middlewares are added const toobusy = require('toobusy-js'); toobusy.maxLag(meta.config.eventLoopLagThreshold);