UNPKG

aluvia-ts-sdk

Version:

Official Aluvia proxy management SDK for Node.js and modern JavaScript environments

84 lines 2.53 kB
"use strict"; /** * Custom error types for the Aluvia SDK */ Object.defineProperty(exports, "__esModule", { value: true }); exports.RateLimitError = exports.NotFoundError = exports.ValidationError = exports.ApiError = exports.NetworkError = exports.AuthenticationError = exports.AluviaError = void 0; /** * Base class for all Aluvia SDK errors */ class AluviaError extends Error { constructor(message, details) { super(message); this.details = details; this.name = this.constructor.name; // Maintain proper stack trace for where our error was thrown if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } } } exports.AluviaError = AluviaError; /** * Thrown when API authentication fails */ class AuthenticationError extends AluviaError { constructor(message = "Authentication failed", details) { super(message, details); this.code = "AUTHENTICATION_ERROR"; } } exports.AuthenticationError = AuthenticationError; /** * Thrown when API requests fail due to network issues */ class NetworkError extends AluviaError { constructor(message = "Network request failed", details) { super(message, details); this.code = "NETWORK_ERROR"; } } exports.NetworkError = NetworkError; /** * Thrown when API returns an error response */ class ApiError extends AluviaError { constructor(message = "API request failed", statusCode, details) { super(message, details); this.statusCode = statusCode; this.code = "API_ERROR"; } } exports.ApiError = ApiError; /** * Thrown when input validation fails */ class ValidationError extends AluviaError { constructor(message = "Validation failed", details) { super(message, details); this.code = "VALIDATION_ERROR"; } } exports.ValidationError = ValidationError; /** * Thrown when a requested resource is not found */ class NotFoundError extends AluviaError { constructor(message = "Resource not found", details) { super(message, details); this.code = "NOT_FOUND_ERROR"; } } exports.NotFoundError = NotFoundError; /** * Thrown when rate limits are exceeded */ class RateLimitError extends AluviaError { constructor(message = "Rate limit exceeded", retryAfter, details) { super(message, details); this.retryAfter = retryAfter; this.code = "RATE_LIMIT_ERROR"; } } exports.RateLimitError = RateLimitError; //# sourceMappingURL=errors.js.map