From 0c5c608b6ab4afd83f72aefb624e22b1b3ff6d83 Mon Sep 17 00:00:00 2001 From: borisding Date: Thu, 1 Jul 2021 11:21:59 +0800 Subject: [PATCH] error and not found handlers amendments and fix --- server/middleware/errorHandler.js | 34 +++++++++------------------- server/middleware/notFoundHandler.js | 11 ++++----- 2 files changed, 16 insertions(+), 29 deletions(-) diff --git a/server/middleware/errorHandler.js b/server/middleware/errorHandler.js index 22c347e..2eb325d 100644 --- a/server/middleware/errorHandler.js +++ b/server/middleware/errorHandler.js @@ -1,29 +1,17 @@ const logger = require('../logger'); -const { isDev } = require('../../utils'); -// custom error handler for the app/api -// only include error stack in development mode -const errorHandler = - ({ json = false } = {}) => - // eslint-disable-next-line no-unused-vars - (err, req, res, next) => { - const code = err.statusCode || 500; - const stack = isDev ? err.stack : null; - const error = isDev ? err.message : 'Sorry! Something went wrong.'; - const errorData = { code, error, stack }; +// custom error handler +// eslint-disable-next-line no-unused-vars +const errorHandler = () => (err, req, res, next) => { + const code = err.statusCode || 500; + const name = err.name || 'Error'; + const message = err.message || 'Sorry! Something went wrong.'; + const errorData = { name, code, message }; - res.status(code); + // logs error stack + logger.error(err.stack); - // logs error stack - logger.error(err.stack); - - // giving erros in JSON format if request made via Ajax or `json` key is true - // otherwise, rendering 500 template with passed params - if (req.xhr || !!json) { - res.json(errorData); - } else { - res.send('500 Internal Server Error.'); - } - }; + res.status(code).json(errorData); +}; module.exports = errorHandler; diff --git a/server/middleware/notFoundHandler.js b/server/middleware/notFoundHandler.js index 973391c..166aa27 100644 --- a/server/middleware/notFoundHandler.js +++ b/server/middleware/notFoundHandler.js @@ -3,13 +3,12 @@ const code = 404; const notFoundHandler = () => (req, res) => { - res.status(code); - res.format({ + res.status(code).format({ json() { - res.send({ code, message: 'Resource not found.' }); - }, - html() { - res.render(`${code}`, { code, message: 'Page not found.' }); + res.send({ + code, + message: 'Resource not found.' + }); } }); };