@dcl/platform-server-commons
Version:
Platform's Http Server Common utils
49 lines • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.errorHandler = void 0;
const errors_1 = require("../../errors");
async function errorHandler(ctx, next) {
try {
return await next();
}
catch (error) {
if (error instanceof errors_1.InvalidRequestError) {
return {
status: 400,
body: {
error: 'Bad request',
message: error.message
}
};
}
if (error instanceof errors_1.NotFoundError) {
return {
status: 404,
body: {
error: 'Not Found',
message: error.message
}
};
}
if (error instanceof errors_1.NotAuthorizedError) {
return {
status: 401,
body: {
error: 'Not Authorized',
message: error.message
}
};
}
const { logs } = ctx.components;
const logger = logs.getLogger('error-handler');
logger.warn(`Error handling ${ctx.url.toString()}: ${error.message}`);
return {
status: 500,
body: {
error: 'Internal Server Error'
}
};
}
}
exports.errorHandler = errorHandler;
//# sourceMappingURL=error-handler.js.map