UNPKG

lazy-error

Version:

properly manage express application errors

41 lines (34 loc) 866 B
const lazyerror = function(){ return function(req, res, next){ res.createError = createError res.sendError = makeErrorSender(res) next() } } lazyerror.createError = createError module.exports = lazyerror // Helpers function makeErrorSender(res){ return function sendError(errorObj){ if(errorObj.type == "restError") sendErrorResponse(res, errorObj) else{ let errorObjNew = createError(...arguments) sendErrorResponse(res, errorObjNew) } } } function sendErrorResponse(res, error){ res.status(error.statusCode).json({ code: error.code, error: error.error }) } function createError(statusCode, code, errorData){ let error = new Error() error.statusCode = statusCode || 500 error.code = code || "INTERNAL_SERVER_ERROR", error.error = errorData error.type = "restError" return error }