Files
acs/server/http/errors.ts
2026-07-13 10:33:21 +09:00

34 lines
619 B
TypeScript

import type { NextFunction, Request, Response } from 'express';
export class ApiError extends Error {
constructor(
public readonly status: number,
message: string,
) {
super(message);
}
}
export function errorHandler(
error: unknown,
_req: Request,
res: Response,
_next: NextFunction,
): void {
if (error instanceof ApiError) {
res.status(error.status).json({
code: error.status,
message: error.message,
data: null,
});
return;
}
console.error(error);
res.status(500).json({
code: 500,
message: 'Internal server error',
data: null,
});
}