diff --git a/server/app.js b/server/app.js index 746934d..faf59b0 100644 --- a/server/app.js +++ b/server/app.js @@ -3,6 +3,7 @@ const cors = require("cors"); const dotenv = require("dotenv"); const dbConnect = require("./config/connect.js"); const Routes = require("./routes/index.js"); +const globalErrorHandlingMiddleware = require("./middlewares/globalErrorHandlingMiddleware.js"); const app = express(); @@ -17,6 +18,10 @@ dotenv.config(); app.use(cors()); app.use(express.json()); app.use(express.urlencoded({ extended: true })); +/** + * Global error handling middleware (issue #35) + */ +app.use(globalErrorHandlingMiddleware); /** * Routes diff --git a/server/middlewares/globalErrorHandlingMiddleware.js b/server/middlewares/globalErrorHandlingMiddleware.js new file mode 100644 index 0000000..cdd834d --- /dev/null +++ b/server/middlewares/globalErrorHandlingMiddleware.js @@ -0,0 +1,14 @@ +// related issue: #35 + +const globalErrorHandlingMiddleware = (err, req, res, next) => { + console.error(err.stack); + + // send the error response + res.status(500).json({ + error: 'Internal Server Error', + message: 'internal Server issue! Connection unsuccessful!', + }); + }; + + module.exports = globalErrorHandlingMiddleware; + \ No newline at end of file