123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- import Dispatcher from "./dispatcher";
- export default RetryHandler;
- declare class RetryHandler implements Dispatcher.DispatchHandlers {
- constructor(
- options: Dispatcher.DispatchOptions & {
- retryOptions?: RetryHandler.RetryOptions;
- },
- retryHandlers: RetryHandler.RetryHandlers
- );
- }
- declare namespace RetryHandler {
- export type RetryState = { counter: number; };
- export type RetryContext = {
- state: RetryState;
- opts: Dispatcher.DispatchOptions & {
- retryOptions?: RetryHandler.RetryOptions;
- };
- }
- export type OnRetryCallback = (result?: Error | null) => void;
- export type RetryCallback = (
- err: Error,
- context: {
- state: RetryState;
- opts: Dispatcher.DispatchOptions & {
- retryOptions?: RetryHandler.RetryOptions;
- };
- },
- callback: OnRetryCallback
- ) => number | null;
- export interface RetryOptions {
-
- retry?: RetryCallback;
-
- maxRetries?: number;
-
- maxTimeout?: number;
-
- minTimeout?: number;
-
- timeoutFactor?: number;
-
- retryAfter?: boolean;
-
- methods?: Dispatcher.HttpMethod[];
-
- errorCodes?: string[];
-
- statusCodes?: number[];
- }
- export interface RetryHandlers {
- dispatch: Dispatcher["dispatch"];
- handler: Dispatcher.DispatchHandlers;
- }
- }
|