[update] - track axious error
This commit is contained in:
@@ -4,6 +4,7 @@ const config = require("../config/config");
|
||||
const httpStatus = require("http-status");
|
||||
const logger = require("../config/logger");
|
||||
const multer = require("multer");
|
||||
const { AxiosError } = require("axios");
|
||||
|
||||
const errorConverter = (err, req, res, next) => {
|
||||
let error = err;
|
||||
@@ -15,6 +16,8 @@ const errorConverter = (err, req, res, next) => {
|
||||
// Handle Sequelize validation and unique constraint errors
|
||||
const messages = error.errors.map(e => e.message);
|
||||
error = new ApiError(httpStatus.BAD_REQUEST, messages.join(", "), error, false, err.stack);
|
||||
} else if (error instanceof AxiosError) {
|
||||
error = new ApiError(error.status, error.message, error.response.data, false, error.stack);
|
||||
} else if (!(error instanceof ApiError)) {
|
||||
// Handle other errors
|
||||
const statusCode =
|
||||
@@ -28,7 +31,7 @@ const errorConverter = (err, req, res, next) => {
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const errorHandler = (err, req, res, next) => {
|
||||
let { statusCode, message } = err;
|
||||
let { statusCode, message, errors } = err;
|
||||
if (config.env === 'production' && !err.isOperational) {
|
||||
statusCode = httpStatus.INTERNAL_SERVER_ERROR;
|
||||
message = httpStatus[httpStatus.INTERNAL_SERVER_ERROR];
|
||||
@@ -39,6 +42,7 @@ const errorHandler = (err, req, res, next) => {
|
||||
const response = {
|
||||
code: statusCode,
|
||||
message,
|
||||
...(config.env === 'development' && { errors: errors }),
|
||||
...(config.env === 'development' && { stack: err.stack }),
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user