UNPKG

axios-master

Version:

Axios wrapper for advanced response time logging, retries, and token refresh.

28 lines (27 loc) 1.05 kB
import { AxiosRequestConfig, AxiosResponse, AxiosError } from "axios"; type LogLevel = "DEBUG" | "INFO" | "WARN" | "ERROR" | "CRITICAL" | "TRACE"; type loggerJson = { time: number; request: AxiosRequestConfig | any; response: AxiosResponse | any; responseBody: JSON | any; statusCode: number | string; }; export type AxiosMasterLoggerType = { log_levels: LogLevel; message: string; json: loggerJson; }; interface MasterConfig { name?: string; log?: boolean; timeout?: number; logger?: (data: AxiosMasterLoggerType) => void; shouldRetry?: boolean; shouldRetryStatus?: number[]; retryFunction?: () => Promise<string>; } export type AxiosMasterError<T = unknown, D = any> = AxiosError; export declare const axiosMasterMain: (default_config: AxiosRequestConfig, masterConfig: MasterConfig) => Promise<AxiosResponse | any>; export declare const axiosMasterLogger: (default_config: AxiosRequestConfig, masterConfig: MasterConfig) => Promise<AxiosResponse | any>; export default axiosMasterMain;