added new hook 'action:meta.override404' so plugins can override the regular handling of pages that are not found

This commit is contained in:
Julian Lam
2015-03-06 13:40:35 -05:00
parent 9915e31bc5
commit f14c5f7e1c
2 changed files with 37 additions and 22 deletions

View File

@@ -6,12 +6,19 @@ var nconf = require('nconf'),
translator = require('../../public/src/translator'),
categories = require('../categories'),
plugins = require('../plugins'),
meta = require('../meta');
var helpers = {};
helpers.notFound = function(req, res, error) {
if (res.locals.isAPI) {
if (plugins.hasListeners('action:meta.override404')) {
plugins.fireHook('action:meta.override404', {
req: req,
res: res,
error: error
});
} else if (res.locals.isAPI) {
res.status(404).json({path: req.path.replace(/^\/api/, ''), error: error});
} else {
res.status(404).render('404', {path: req.path, error: error});