rfc9457
Version:
RFC 9457 Problem Details for HTTP APIs - A standardized error handling package for Node.js
44 lines • 2.99 kB
JavaScript
import * as ErrorClasses from "./index.js";
const standardFactories = {
badRequest: (detail) => new ErrorClasses.BadRequestError(detail),
paymentRequired: (detail) => new ErrorClasses.PaymentRequiredError(detail),
authentication: (detail) => new ErrorClasses.AuthenticationError(detail),
authorization: (detail) => new ErrorClasses.AuthorizationError(detail),
notFound: (resourceOrDetail, id) => new ErrorClasses.NotFoundError(resourceOrDetail, id),
methodNotAllowed: (detail) => new ErrorClasses.MethodNotAllowedError(detail),
notAcceptable: (detail) => new ErrorClasses.NotAcceptableError(detail),
proxyAuthenticationRequired: (detail) => new ErrorClasses.ProxyAuthenticationRequiredError(detail),
requestTimeout: (detail) => new ErrorClasses.RequestTimeoutError(detail),
conflict: (detail) => new ErrorClasses.ConflictError(detail),
gone: (detail) => new ErrorClasses.GoneError(detail),
lengthRequired: (detail) => new ErrorClasses.LengthRequiredError(detail),
preconditionFailed: (detail) => new ErrorClasses.PreconditionFailedError(detail),
payloadTooLarge: (detail, maxSize) => new ErrorClasses.PayloadTooLargeError(detail, maxSize),
uriTooLong: (detail) => new ErrorClasses.UriTooLongError(detail),
unsupportedMediaType: (detail) => new ErrorClasses.UnsupportedMediaTypeError(detail),
rangeNotSatisfiable: (detail) => new ErrorClasses.RangeNotSatisfiableError(detail),
expectationFailed: (detail) => new ErrorClasses.ExpectationFailedError(detail),
misdirectedRequest: (detail) => new ErrorClasses.MisdirectedRequestError(detail),
validation: (detail, validationErrors) => new ErrorClasses.ValidationError(detail, validationErrors),
locked: (detail) => new ErrorClasses.LockedError(detail),
failedDependency: (detail) => new ErrorClasses.FailedDependencyError(detail),
tooEarly: (detail) => new ErrorClasses.TooEarlyError(detail),
upgradeRequired: (detail) => new ErrorClasses.UpgradeRequiredError(detail),
preconditionRequired: (detail) => new ErrorClasses.PreconditionRequiredError(detail),
rateLimit: (detail, retryAfter) => new ErrorClasses.RateLimitError(detail, retryAfter),
requestHeaderFieldsTooLarge: (detail) => new ErrorClasses.RequestHeaderFieldsTooLargeError(detail),
unavailableForLegalReasons: (detail) => new ErrorClasses.UnavailableForLegalReasonsError(detail),
};
const aliases = {
validate: (detail, validationErrors) => standardFactories.validation(detail, validationErrors),
permission: (detail) => standardFactories.authorization(detail),
access: (detail) => standardFactories.authorization(detail),
idNotFound: (resourceOrDetail, id) => standardFactories.notFound(resourceOrDetail, id),
duplicate: (detail) => standardFactories.conflict(detail),
thirdParty: (detail) => standardFactories.failedDependency(detail),
};
export const factories = {
...standardFactories,
...aliases,
};
//# sourceMappingURL=factories.js.map