From 0a691e674411d702ed27b1b7521f3454aa6f43d8 Mon Sep 17 00:00:00 2001
From: Julian Lam <julian@nodebb.org>
Date: Tue, 10 Jan 2023 11:08:29 -0500
Subject: [PATCH] fix: move call to `filter:middleware.buildHeader` out of
 parallel so that req can be overridden by plugins prior to loading config

---
 src/middleware/header.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/middleware/header.js b/src/middleware/header.js
index 1086318d57..ae1ea59752 100644
--- a/src/middleware/header.js
+++ b/src/middleware/header.js
@@ -34,10 +34,11 @@ middleware.buildHeader = helpers.try(async (req, res, next) => {
 	if (req.method === 'GET') {
 		await require('./index').applyCSRFasync(req, res);
 	}
+
+	({ req, locals: res.locals } = await plugins.hooks.fire('filter:middleware.buildHeader', { req: req, locals: res.locals }));
 	const [config, canLoginIfBanned] = await Promise.all([
 		controllers.api.loadConfig(req),
 		user.bans.canLoginIfBanned(req.uid),
-		plugins.hooks.fire('filter:middleware.buildHeader', { req: req, locals: res.locals }),
 	]);
 
 	if (!canLoginIfBanned && req.loggedIn) {