From 55cefcba35a3f8d784a5bf086fa139131d515d5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Fri, 7 May 2021 09:32:06 -0400 Subject: [PATCH] feat: #9533, allow redirect in build hooks --- src/middleware/render.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/middleware/render.js b/src/middleware/render.js index 0462ca3671..4bf779ff2d 100644 --- a/src/middleware/render.js +++ b/src/middleware/render.js @@ -33,10 +33,16 @@ module.exports = function (middleware) { options.url = (req.baseUrl + req.path.replace(/^\/api/, '')); options.bodyClass = buildBodyClass(req, res, options); - const buildResult = await plugins.hooks.fire('filter:' + template + '.build', { req: req, res: res, templateData: options }); + const buildResult = await plugins.hooks.fire(`filter:${template}.build`, { req: req, res: res, templateData: options }); + if (res.headersSent) { + return; + } const templateToRender = buildResult.templateData.templateToRender || template; const renderResult = await plugins.hooks.fire('filter:middleware.render', { req: req, res: res, templateData: buildResult.templateData }); + if (res.headersSent) { + return; + } options = renderResult.templateData; options._header = { tags: await meta.tags.parse(req, renderResult, res.locals.metaTags, res.locals.linkTags),