/
foult080
/
college-schedule-app
Обзор
Документация
Войти
/
foult080
/
college-schedule-app
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/utils/http-errors.ts
108 строк
2 KB
Foult080
tests: fix all tests
23 апр 2026, 11:07
23 апр 2026, 11:07
ab0e121
Код
Авторство
О чём код?
/** * Base class for HTTP errors */ export class HttpError extends Error { public readonly statusCode: number; public readonly isOperational: boolean; constructor(statusCode: number, message: string, isOperational: boolean = true) { super(message); this.statusCode = statusCode; this.isOperational = isOperational; this.name = this.constructor.name; Error.captureStackTrace(this, this.constructor); } } /** * 400 Bad Request */ export class BadRequestError extends HttpError { constructor(message: string = 'Bad request') { super(400, message); } } /** * 401 Unauthorized */ export class UnauthorizedError extends HttpError { constructor(message: string = 'Unauthorized') { super(401, message); } } /** * 403 Forbidden */ export class ForbiddenError extends HttpError { constructor(message: string = 'Forbidden') { super(403, message); } } /** * 404 Not Found */ export class NotFoundError extends HttpError { constructor(message: string = 'Not found') { super(404, message); } } /** * 409 Conflict */ export class ConflictError extends HttpError { constructor(message: string = 'Conflict') { super(409, message); } } /** * 400 Unprocessable Entity */ export class ValidationError extends HttpError { public readonly fields?: Record<string, string[]>; constructor(message: string = 'Validation error', fields?: Record<string, string[]>) { super(400, message); this.fields = fields; } } /** * 429 Too Many Requests */ export class TooManyRequestsError extends HttpError { constructor(message: string = 'Too many requests') { super(429, message); } } /** * 500 Internal Server Error */ export class InternalServerError extends HttpError { constructor(message: string = 'Internal server error') { super(500, message, false); } } /** * 502 Bad Gateway */ export class BadGatewayError extends HttpError { constructor(message: string = 'Bad gateway') { super(502, message); } } /** * 503 Service Unavailable */ export class ServiceUnavailableError extends HttpError { constructor(message: string = 'Service unavailable') { super(503, message); } }