mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
fix: #9615, catch exceptions in renderOverride
This commit is contained in:
@@ -17,7 +17,7 @@ module.exports = function (middleware) {
|
|||||||
middleware.processRender = function processRender(req, res, next) {
|
middleware.processRender = function processRender(req, res, next) {
|
||||||
// res.render post-processing, modified from here: https://gist.github.com/mrlannigan/5051687
|
// res.render post-processing, modified from here: https://gist.github.com/mrlannigan/5051687
|
||||||
const { render } = res;
|
const { render } = res;
|
||||||
res.render = async function renderOverride(template, options, fn) {
|
async function renderMethod(template, options, fn) {
|
||||||
const self = this;
|
const self = this;
|
||||||
const { req } = this;
|
const { req } = this;
|
||||||
|
|
||||||
@@ -85,6 +85,14 @@ module.exports = function (middleware) {
|
|||||||
} else {
|
} else {
|
||||||
fn(null, str);
|
fn(null, str);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
res.render = async function renderOverride(template, options, fn) {
|
||||||
|
try {
|
||||||
|
await renderMethod(template, options, fn);
|
||||||
|
} catch (err) {
|
||||||
|
next(err);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
next();
|
next();
|
||||||
|
|||||||
Reference in New Issue
Block a user