koa-mongo-router
Version:
KOA REST API Router for MongoDB
53 lines (52 loc) • 1.61 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.koaErrorHandler = void 0;
const http_1 = require("http");
async function koaErrorHandler(ctx, next) {
try {
await next();
}
catch (err) {
/* istanbul ignore else */
if (typeof err.status === 'number') {
ctx.body = {
status: err.status,
message: http_1.STATUS_CODES[err.status],
};
ctx.status = err.status;
if (err != undefined) {
if (err.errorName != undefined) {
;
ctx.body.errorName = err.errorName;
}
if (err.message != undefined) {
;
ctx.body.error = err.message;
}
}
}
else {
ctx.status = 500;
ctx.body = {
status: 500,
message: http_1.STATUS_CODES[500],
};
ctx.state.error = err;
if (err != undefined) {
if (err.errorName != undefined) {
;
ctx.body.errorName = err.errorName;
}
if (err.message != undefined) {
;
ctx.body.error = err.message;
}
if (err.stack != undefined) {
;
ctx.body.stack = err.stack.split('\n');
}
}
}
ctx.app.emit('error', err, ctx);
}
}
exports.koaErrorHandler = koaErrorHandler;