Libraries
    Preparing search index...

    Options for the retry middleware.

    interface RetryOptions {
        backoffLimit?: number;
        delay?: (attemptCount: number) => number;
        jitter?: boolean | ((delay: number) => number);
        limit?: number;
        methods?: string[];
        retryOnTimeout?: boolean;
        shouldRetry?: (error: Error, retryCount: number) => boolean;
        statusCodes?: number[];
    }
    Index

    Properties

    backoffLimit?: number

    Maximum delay in milliseconds between retries. Defaults to Infinity.

    delay?: (attemptCount: number) => number

    Custom delay function. Receives the current attempt number (1-based) and returns the delay in milliseconds.

    Defaults to exponential backoff: 0.3 * 2^(attempt-1) * 1000.

    jitter?: boolean | ((delay: number) => number)

    Adds randomized jitter to the delay to avoid thundering-herd problems.

    • true — applies full jitter (delay * random(0, 1)).
    • A function — custom jitter: (delay) => adjustedDelay.

    Defaults to false (no jitter).

    limit?: number

    Maximum number of retry attempts. Defaults to 2.

    methods?: string[]

    HTTP methods that are eligible for retry. Defaults to ['GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS'].

    retryOnTimeout?: boolean

    Whether to retry on timeout errors. Defaults to false.

    shouldRetry?: (error: Error, retryCount: number) => boolean

    Custom predicate to decide whether to retry a given error. When provided, it is checked in addition to the statusCodes check.

    statusCodes?: number[]

    HTTP status codes that trigger a retry. Defaults to [408, 429, 500, 502, 503, 504].