UNPKG

@flatfile/safe-api

Version:

Flatfile Safe API client with streaming capabilities

67 lines (66 loc) 2.32 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.RetryError = exports.NotFoundError = exports.UnauthorizedError = exports.PayloadError = exports.RedirectError = exports.RateError = exports.TimeoutError = exports.ServerError = exports.FatalError = exports.RecoverableError = exports.RequestError = void 0; const extendable_error_1 = __importDefault(require("extendable-error")); const rate_limit_1 = require("../rate-limit"); class RequestError extends extendable_error_1.default { constructor(req, res, raw) { // todo: make a more creative error message super("Request failed." + (raw ? " Raw Response: " + raw.substring(0, 2000) : "")); this.req = req; this.res = res; this.raw = raw; this.url = new URL(req.buildUrl()); } } exports.RequestError = RequestError; class RecoverableError extends RequestError { } exports.RecoverableError = RecoverableError; class FatalError extends RequestError { } exports.FatalError = FatalError; /** Recoverable errors **/ class ServerError extends RecoverableError { } exports.ServerError = ServerError; class TimeoutError extends RecoverableError { } exports.TimeoutError = TimeoutError; class RateError extends RecoverableError { constructor() { super(...arguments); this.rateLimitManager = rate_limit_1.RateLimitManager.getInstance(); } recoverIn() { return this.rateLimitManager.getRetryDelay(this.res.headers); } } exports.RateError = RateError; class RedirectError extends RecoverableError { toUrl() { // analyze the response to determine the redirect url } } exports.RedirectError = RedirectError; /** Unrecoverable errors **/ class PayloadError extends FatalError { } exports.PayloadError = PayloadError; class UnauthorizedError extends FatalError { } exports.UnauthorizedError = UnauthorizedError; class NotFoundError extends FatalError { } exports.NotFoundError = NotFoundError; class RetryError extends FatalError { constructor(req, originalError) { super(req, {}); this.req = req; this.originalError = originalError; } } exports.RetryError = RetryError;