Skip to main content

Class: RateLimitError

Defined in: web/lib/errors.ts:384

Rate limit exceeded error.

Remarks​

Thrown when a client exceeds the allowed request rate for an endpoint. Includes the retry-after value for implementing backoff.

Example​

if (response.status === 429) {
const retryAfter = parseInt(response.headers.get('Retry-After') ?? '60', 10);
throw new RateLimitError(retryAfter);
}

Extends​

Constructors​

new RateLimitError()​

new RateLimitError(retryAfter): RateLimitError

Defined in: web/lib/errors.ts:401

Creates a new RateLimitError.

Parameters​

retryAfter​

number

Seconds to wait before retrying

Returns​

RateLimitError

Overrides​

ChiveError.constructor

Properties​

cause?​

readonly optional cause: Error

Defined in: web/lib/errors.ts:76

Original error that caused this error (if any).

Remarks​

Error chaining allows tracking the full error context through multiple layers of the application. Useful for debugging complex error scenarios.

Inherited from​

ChiveError.cause


code​

readonly code: "RATE_LIMIT_EXCEEDED" = 'RATE_LIMIT_EXCEEDED'

Defined in: web/lib/errors.ts:385

Machine-readable error code.

Remarks​

Error codes are unique identifiers for error types, enabling programmatic error handling (switch statements, error maps), error tracking in monitoring systems, and client-side error translation (i18n).

Overrides​

ChiveError.code


retryAfter​

readonly retryAfter: number

Defined in: web/lib/errors.ts:394

Seconds to wait before retrying.

Remarks​

Clients should respect this value and implement exponential backoff for repeated rate limit errors.

Accessors​

isRetryable​

Get Signature​

get isRetryable(): boolean

Defined in: web/lib/errors.ts:410

Whether this error is retryable.

Remarks​

Override in subclasses to indicate whether the operation can be retried. Default is false (non-retryable).

Returns​

boolean

Overrides​

ChiveError.isRetryable


severity​

Get Signature​

get severity(): ErrorSeverity

Defined in: web/lib/errors.ts:406

Error severity for monitoring and alerting.

Remarks​

Override in subclasses to customize severity based on error type. Default is 'medium' for most errors.

Returns​

ErrorSeverity

Overrides​

ChiveError.severity

Methods​

toJSON()​

toJSON(): SerializedError

Defined in: web/lib/errors.ts:414

Converts error to a plain object for structured logging.

Returns​

SerializedError

Remarks​

Produces a JSON-serializable object with all error properties, including nested cause chains.

Overrides​

ChiveError.toJSON