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