set error handler
This commit is contained in:
@@ -0,0 +1,10 @@
|
|||||||
|
exports.constants = {
|
||||||
|
VALIDATION_ERROR: 400,
|
||||||
|
UNAUTHORIZED: 401,
|
||||||
|
FORBIDOEN: 403,
|
||||||
|
NOT_FOUND: 404,
|
||||||
|
SERVER_ERROR: 500,
|
||||||
|
SITE_UNAUTHORIZED: 422,
|
||||||
|
TOO_MANY: 429,
|
||||||
|
Method_Not_Allowed:405
|
||||||
|
};
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
const { constants } = require("./constants");
|
||||||
|
const errorHandler = (err, req, res, next) => {
|
||||||
|
const statusCode = res.statusCode ? res.statusCode : 500;
|
||||||
|
|
||||||
|
switch (statusCode) {
|
||||||
|
case constants.VALIDATION_ERROR:
|
||||||
|
res.status(statusCode).json({
|
||||||
|
title: "Validation Failed ",
|
||||||
|
msg: err.message,
|
||||||
|
stackTrace: err.stack,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case constants.Method_Not_Allowed:
|
||||||
|
res.status(statusCode).json({
|
||||||
|
title: "Method Not Allowed ",
|
||||||
|
msg: err.message,
|
||||||
|
stackTrace: err.stack,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case constants.NOT_FOUND:
|
||||||
|
res.status(statusCode).json({
|
||||||
|
title: "Not found ",
|
||||||
|
msg: err.message,
|
||||||
|
stackTrace: err.stack,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case constants.FORBIDOEN:
|
||||||
|
res.status(statusCode).json({
|
||||||
|
title: "Forbidoen ",
|
||||||
|
msg: err.message,
|
||||||
|
stackTrace: err.stack,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case constants.SERVER_ERROR:
|
||||||
|
res.status(statusCode).json({
|
||||||
|
title: "Server Error ",
|
||||||
|
msg: err.message,
|
||||||
|
stackTrace: err.stack,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case constants.UNAUTHORIZED:
|
||||||
|
res.status(statusCode).json({
|
||||||
|
title: "Unauthorized ",
|
||||||
|
msg: err.message,
|
||||||
|
stackTrace: err.stack,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case constants.SITE_UNAUTHORIZED:
|
||||||
|
res.status(statusCode).json({
|
||||||
|
title: "Site Unauthorized ",
|
||||||
|
msg: err.message,
|
||||||
|
stackTrace: err.stack,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case constants.TOO_MANY:
|
||||||
|
res.status(statusCode).json({
|
||||||
|
title: "Too many request",
|
||||||
|
msg: err.message,
|
||||||
|
stackTrace: err.stack,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
console.log(err);
|
||||||
|
res.status(500).json({
|
||||||
|
title: "Unhandled error",
|
||||||
|
msg: err.message,
|
||||||
|
stackTrace: err.stack
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = { name: "errorHandler", run: errorHandler };
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
/// / develop environment config
|
/// / develop environment config
|
||||||
const { isDev, isProduction, DevServerPort } = require('./_env')
|
const { isDev, isProduction, DevServerPort } = require('./_env')
|
||||||
|
const errorHandler = require('./errorHandler')
|
||||||
const wss = require('./WebSocket/wss')
|
const wss = require('./WebSocket/wss')
|
||||||
/// / init express app (wrapping all functions into init() to prevent running in development mode by nuxt dev mode)
|
/// / init express app (wrapping all functions into init() to prevent running in development mode by nuxt dev mode)
|
||||||
function init() {
|
function init() {
|
||||||
@@ -53,6 +54,7 @@ function init() {
|
|||||||
|
|
||||||
app.use(isDev ? '/api' : '', router)
|
app.use(isDev ? '/api' : '', router)
|
||||||
|
|
||||||
|
app.use(errorHandler.run)
|
||||||
|
|
||||||
return app
|
return app
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user