@coko/server
Version:
Reusable server for use by Coko's projects
33 lines • 1.37 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const http_status_codes_1 = require("http-status-codes");
const logger_1 = __importDefault(require("../logger"));
const errorStatuses = (app) => {
app.use((err, _req, res, _next) => {
logger_1.default.error(err);
if (err.name === 'ValidationError') {
return res
.status(http_status_codes_1.StatusCodes.BAD_REQUEST)
.json({ message: err.message });
}
if (err.name === 'ConflictError') {
return res.status(http_status_codes_1.StatusCodes.CONFLICT).json({ message: err.message });
}
if (err.name === 'AuthorizationError') {
return res.status(err.status).json({ message: err.message });
}
if (err.name === 'AuthenticationError') {
return res
.status(http_status_codes_1.StatusCodes.UNAUTHORIZED)
.json({ message: err.message });
}
return res
.status(err.status || http_status_codes_1.StatusCodes.INTERNAL_SERVER_ERROR)
.json({ message: err.message });
});
};
exports.default = errorStatuses;
//# sourceMappingURL=errorStatuses.js.map