UNPKG

@unclepaul/allcountjs

Version:

The open source framework for rapid business application development with Node.js

29 lines (28 loc) 1.13 kB
var domain = require('domain'); var _ = require('lodash'); module.exports = function (app, templateVarService, appUtil) { return { setup: function () { app.use(function (err, req, res, next) { templateVarService.setupLocals(req, res); if (err instanceof appUtil.ValidationError) { res.status(403).json(err.fieldNameToMessage); } else if (err instanceof appUtil.ConflictError) { res.status(409).send(err.message); } else if (err) { console.error(err.stack); res.locals.error = err; if (req.url.indexOf('/api/') === 0) { if (_.isError(err)) { res.status(500).send(err.stack.toString()); } else { res.status(500).send(err); } } else { res.status(500).render('error'); } } }) } }; };