winterspec
Version:
Write Winter-CG compatible routes with filesystem routing and tons of features
51 lines (50 loc) • 1.41 kB
JavaScript
import { formatZodError } from "../lib/format-zod-error.js";
export class WinterSpecMiddlewareError extends Error {
constructor(message, status = 500) {
super(message);
this.message = message;
this.status = status;
this._isHttpException = true;
this.name = this.constructor.name;
}
}
export class MethodNotAllowedError extends WinterSpecMiddlewareError {
constructor(allowedMethods) {
super(`only ${allowedMethods.join(",")} accepted`, 405);
}
}
export class NotFoundError extends WinterSpecMiddlewareError {
constructor(message) {
super(message, 404);
}
}
export class BadRequestError extends WinterSpecMiddlewareError {
constructor(message) {
super(message, 400);
}
}
export class InvalidQueryParamsError extends BadRequestError {
constructor(message) {
super(message);
}
}
export class InvalidContentTypeError extends BadRequestError {
constructor(message) {
super(message);
}
}
export class InputParsingError extends BadRequestError {
constructor(message) {
super(message);
}
}
export class InputValidationError extends BadRequestError {
constructor(error) {
super(formatZodError(error));
}
}
export class ResponseValidationError extends WinterSpecMiddlewareError {
constructor(error) {
super(formatZodError(error), 500);
}
}