UNPKG

http-retrier

Version:

41 lines 1.46 kB
import { AxiosHeaders, AxiosRequestConfig } from "axios"; import { httpStatusCodes } from "./statusCodes"; export type HttpStatusCodes = keyof typeof httpStatusCodes; export type HttpStatusMessage = typeof httpStatusCodes[HttpStatusCodes]; export type HttpRetrierRetryOn = (response: HttpRetrierResponse) => boolean; export type HttpRetrierLogger = (message: string) => void; export type HttpRetrierOptions = Omit<AxiosRequestConfig, 'url' | "baseURL"> & Partial<HttpRetrierSettings>; export interface HttpRetrierOutputConverter { xml2json?: boolean; custome?: (output: any) => any; } export interface WaitOptions { attempt?: number; exponentialBackoff?: boolean; } export interface HttpRetrierSettings { title: string; maxAttempts: number; delay: number; exponentialBackoff: boolean; outputConverter: HttpRetrierOutputConverter; logging: HttpRetrierLogging; retryOn: HttpRetrierRetryOn; } export interface HttpRetrierResponse { url: string; method: string; status: HttpStatusCodes; statusText: string; headers?: AxiosHeaders; attempt: number; input: any; output: any; } export interface HttpRetrierLogging { beforeStart?: (response: HttpRetrierResponse) => void; beforeAttempt?: (response: HttpRetrierResponse) => void; afterAttempt?: (response: HttpRetrierResponse) => void; afterDone?: (response: HttpRetrierResponse) => void; } //# sourceMappingURL=types.d.ts.map