From 40bed307d050670cece57dfa2c9d51ccc8df3cd7 Mon Sep 17 00:00:00 2001 From: Nevil Date: Thu, 1 Feb 2024 20:19:39 +0530 Subject: [PATCH 1/2] updated index.js --- src/routes/index.js | 50 ++++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/src/routes/index.js b/src/routes/index.js index 791012c7..6fc50938 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -94,26 +94,42 @@ module.exports = (app) => { // Global error handling middleware, should be present in last in the stack of a middleware's app.use((error, req, res, next) => { - const status = error.statusCode || 500 - const responseCode = error.responseCode || 'SERVER_ERROR' - const message = error.message || '' - let errorData = [] + if (error.statusCode || error.responseCode || error.message) { + // Detailed error response + const status = error.statusCode || 500 + const responseCode = error.responseCode || 'SERVER_ERROR' + const message = error.message || 'Oops! Something went wrong on our end. Please try again later.' + const errorData = error.data || [] - if (error.data) { - errorData = error.data - } + logger.info(message, { message: error }) + + const options = { + responseCode, + error: errorData, + meta: { correlation: correlationId.getId() }, + } + + const interpolationOptions = { + ...error?.interpolation, + interpolation: { escapeValue: false }, + } + + options.message = error.interpolation ? req.t(message, interpolationOptions) : req.t(message) - if (status == 500) { - logger.error('Server error!', { message: error, triggerNotification: true }) + res.status(status).json(options) } else { - logger.info(message, { message: error }) - } + // Limited info response + const errorMessage = 'Oops! Something went wrong on our end. Please try again later.' - res.status(status).json({ - responseCode, - message, - error: errorData, - meta: { correlation: correlationId.getId() }, - }) + logger.error('Server error!', { message: error.stack, triggerNotification: true }) + console.error('Error occurred on the server:') + console.error(error) + + res.status(500).json({ + responseCode: 'SERVER_ERROR', + message: errorMessage, + meta: { correlation: correlationId.getId() }, + }) + } }) } From 4bc5a72bd028acca26ff2822a3006b2b89c3df22 Mon Sep 17 00:00:00 2001 From: Nevil Date: Fri, 16 Feb 2024 14:01:25 +0530 Subject: [PATCH 2/2] updated response --- src/routes/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/index.js b/src/routes/index.js index 6fc50938..8399d9c8 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -98,7 +98,7 @@ module.exports = (app) => { // Detailed error response const status = error.statusCode || 500 const responseCode = error.responseCode || 'SERVER_ERROR' - const message = error.message || 'Oops! Something went wrong on our end. Please try again later.' + const message = error.message || 'Oops! Something Went Wrong.' const errorData = error.data || [] logger.info(message, { message: error }) @@ -119,7 +119,7 @@ module.exports = (app) => { res.status(status).json(options) } else { // Limited info response - const errorMessage = 'Oops! Something went wrong on our end. Please try again later.' + const errorMessage = 'Oops! Something Went Wrong.' logger.error('Server error!', { message: error.stack, triggerNotification: true }) console.error('Error occurred on the server:')