mad-lawsuit/backend/dist/middleware/errorHandler.js

37 lines
No EOL
1.3 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.asyncHandler = exports.createError = exports.errorHandler = void 0;
const logger_1 = require("../utils/logger");
const errorHandler = (error, req, res, next) => {
const statusCode = error.statusCode || 500;
const message = error.message || 'Internal Server Error';
logger_1.logger.error('Error occurred:', {
error: error.message,
stack: error.stack,
url: req.url,
method: req.method,
ip: req.ip,
userAgent: req.get('User-Agent'),
});
const isDevelopment = process.env.NODE_ENV === 'development';
res.status(statusCode).json({
success: false,
message: isDevelopment ? message : 'Something went wrong',
...(isDevelopment && { stack: error.stack }),
});
};
exports.errorHandler = errorHandler;
const createError = (message, statusCode = 500) => {
const error = new Error(message);
error.statusCode = statusCode;
error.isOperational = true;
return error;
};
exports.createError = createError;
const asyncHandler = (fn) => {
return (req, res, next) => {
Promise.resolve(fn(req, res, next)).catch(next);
};
};
exports.asyncHandler = asyncHandler;
//# sourceMappingURL=errorHandler.js.map