UNPKG

express-restify-mt-mongoose

Version:
19 lines (16 loc) 2.22 kB
'use strict'; var http = require('http'); module.exports = function (options) { return function (req, res, next) { return function (err) { if (err.message === http.STATUS_CODES[404] || req.params.id && err.path === options.idProperty && err.name === 'CastError') { req.erm.statusCode = 404; } else { req.erm.statusCode = req.erm.statusCode && req.erm.statusCode >= 400 ? req.erm.statusCode : 400; } options.onError(err, req, res, next); }; }; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lcnJvckhhbmRsZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFNLE9BQU8sUUFBUSxNQUFSLENBQWI7O0FBRUEsT0FBTyxPQUFQLEdBQWlCLFVBQVUsT0FBVixFQUFtQjtBQUNsQyxTQUFPLFVBQVUsR0FBVixFQUFlLEdBQWYsRUFBb0IsSUFBcEIsRUFBMEI7QUFDL0IsV0FBTyxVQUFVLEdBQVYsRUFBZTtBQUNwQixVQUFJLElBQUksT0FBSixLQUFnQixLQUFLLFlBQUwsQ0FBa0IsR0FBbEIsQ0FBaEIsSUFBMkMsSUFBSSxNQUFKLENBQVcsRUFBWCxJQUFpQixJQUFJLElBQUosS0FBYSxRQUFRLFVBQXRDLElBQW9ELElBQUksSUFBSixLQUFhLFdBQWhILEVBQThIO0FBQzVILFlBQUksR0FBSixDQUFRLFVBQVIsR0FBcUIsR0FBckI7QUFDRCxPQUZELE1BRU87QUFDTCxZQUFJLEdBQUosQ0FBUSxVQUFSLEdBQXFCLElBQUksR0FBSixDQUFRLFVBQVIsSUFBc0IsSUFBSSxHQUFKLENBQVEsVUFBUixJQUFzQixHQUE1QyxHQUFrRCxJQUFJLEdBQUosQ0FBUSxVQUExRCxHQUF1RSxHQUE1RjtBQUNEOztBQUVELGNBQVEsT0FBUixDQUFnQixHQUFoQixFQUFxQixHQUFyQixFQUEwQixHQUExQixFQUErQixJQUEvQjtBQUNELEtBUkQ7QUFTRCxHQVZEO0FBV0QsQ0FaRCIsImZpbGUiOiJlcnJvckhhbmRsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBodHRwID0gcmVxdWlyZSgnaHR0cCcpXHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXEsIHJlcywgbmV4dCkge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIChlcnIpIHtcclxuICAgICAgaWYgKGVyci5tZXNzYWdlID09PSBodHRwLlNUQVRVU19DT0RFU1s0MDRdIHx8IChyZXEucGFyYW1zLmlkICYmIGVyci5wYXRoID09PSBvcHRpb25zLmlkUHJvcGVydHkgJiYgZXJyLm5hbWUgPT09ICdDYXN0RXJyb3InKSkge1xyXG4gICAgICAgIHJlcS5lcm0uc3RhdHVzQ29kZSA9IDQwNFxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlcS5lcm0uc3RhdHVzQ29kZSA9IHJlcS5lcm0uc3RhdHVzQ29kZSAmJiByZXEuZXJtLnN0YXR1c0NvZGUgPj0gNDAwID8gcmVxLmVybS5zdGF0dXNDb2RlIDogNDAwXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIG9wdGlvbnMub25FcnJvcihlcnIsIHJlcSwgcmVzLCBuZXh0KVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= //# sourceMappingURL=errorHandler.js.map