From 1eda538da5d82b839647eb9fe0ce5646f4f73ff1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Fri, 18 Jun 2021 12:24:07 -0400 Subject: [PATCH] fix: #9615, catch exceptions in renderOverride --- src/middleware/render.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/middleware/render.js b/src/middleware/render.js index 9132b18f93..53909648b2 100644 --- a/src/middleware/render.js +++ b/src/middleware/render.js @@ -17,7 +17,7 @@ module.exports = function (middleware) { middleware.processRender = function processRender(req, res, next) { // res.render post-processing, modified from here: https://gist.github.com/mrlannigan/5051687 const { render } = res; - res.render = async function renderOverride(template, options, fn) { + async function renderMethod(template, options, fn) { const self = this; const { req } = this; @@ -85,6 +85,14 @@ module.exports = function (middleware) { } else { fn(null, str); } + } + + res.render = async function renderOverride(template, options, fn) { + try { + await renderMethod(template, options, fn); + } catch (err) { + next(err); + } }; next();