cargo / src /middleware /errorHandler.js
vish85521's picture
Upload 53 files
964569f verified
Raw
History Blame Contribute Delete
1.06 kB
const { AppError } = require("../utils/appError");
function createNotFoundMiddleware() {
return (req, res) => {
res.status(404).json({
message: "Route not found",
path: req.originalUrl,
});
};
}
function createErrorHandler(config, logger) {
return (error, req, res, _next) => {
const appError =
error instanceof AppError
? error
: new AppError("Internal server error", 500);
logger.error("Unhandled API error", {
requestId: req.context && req.context.requestId,
path: req.originalUrl,
method: req.method,
statusCode: appError.statusCode,
message: error.message,
stack: config.nodeEnv === "production" ? undefined : error.stack,
});
res.status(appError.statusCode).json({
message: appError.message,
requestId: req.context && req.context.requestId,
details:
config.nodeEnv === "production" ? undefined : appError.details || error.message,
});
};
}
module.exports = {
createNotFoundMiddleware,
createErrorHandler,
};