ai-dev-template / nodejs /src /middleware /errorHandler.ts
Jordandevlog's picture
Upload nodejs/src/middleware/errorHandler.ts
1744590 verified
Raw
History Blame Contribute Delete
699 Bytes
/**
* Global error handling middleware.
* @module errorHandler
*/
import { Request, Response, NextFunction } from 'express';
import { AppError } from '../utils/errors.js';
import { logger } from '../utils/logger.js';
export function errorHandler(
err: Error,
_req: Request,
res: Response,
_next: NextFunction
): void {
if (err instanceof AppError) {
logger.warn(`Operational error: ${err.message}`);
res.status(err.statusCode).json({
status: 'error',
message: err.message,
});
return;
}
logger.error(`Unexpected error: ${err.message}`, { stack: err.stack });
res.status(500).json({
status: 'error',
message: 'Internal server error',
});
}