20 lines
469 B
TypeScript
20 lines
469 B
TypeScript
import { Request, Response, NextFunction } from 'express';
|
|
|
|
export interface AppError extends Error {
|
|
statusCode?: number;
|
|
}
|
|
|
|
export function errorHandler(
|
|
err: AppError,
|
|
req: Request,
|
|
res: Response,
|
|
next: NextFunction
|
|
) {
|
|
const statusCode = err.statusCode || 500;
|
|
const message = err.message || 'Internal Server Error';
|
|
|
|
res.status(statusCode).json({
|
|
error: message,
|
|
stack: process.env.NODE_ENV === 'development' ? err.stack : undefined
|
|
});
|
|
} |