Spaces:
Paused
Paused
| 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, | |
| }; | |