From a478dc7ee8efa43d50283346f904e3a6125ae3b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 26 Apr 2021 10:35:34 -0400 Subject: [PATCH] feat: add filter:middleware.autoLocale --- src/middleware/headers.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/middleware/headers.js b/src/middleware/headers.js index e06082851c..dacfb62dec 100644 --- a/src/middleware/headers.js +++ b/src/middleware/headers.js @@ -7,6 +7,7 @@ const _ = require('lodash'); const meta = require('../meta'); const languages = require('../languages'); const helpers = require('./helpers'); +const plugins = require('../plugins'); module.exports = function (middleware) { middleware.addHeaders = helpers.try((req, res, next) => { @@ -74,9 +75,12 @@ module.exports = function (middleware) { }); middleware.autoLocale = helpers.try(async (req, res, next) => { - let langs; + await plugins.hooks.fire('filter:middleware.autoLocale', { + req: req, + res: res, + }); if (req.query.lang) { - langs = await listCodes(); + const langs = await listCodes(); if (!langs.includes(req.query.lang)) { req.query.lang = meta.config.defaultLang; } @@ -85,7 +89,7 @@ module.exports = function (middleware) { if (parseInt(req.uid, 10) > 0 || !meta.config.autoDetectLang) { return next(); } - langs = await listCodes(); + const langs = await listCodes(); const lang = req.acceptsLanguages(langs); if (!lang) { return next();