UNPKG

@allgroup/yandex-taxi-fleet-api

Version:

Unofficial yandex taxi fleet api library

19 lines (18 loc) 710 B
import axios, { AxiosInstance, CreateAxiosDefaults } from "axios"; import axiosRateLimit, { rateLimitOptions } from "axios-rate-limit"; import axiosRetry from "axios-retry"; import { IAxiosRetryConfig } from "axios-retry"; export const HttpClientFactory = (options?: { defaults?: CreateAxiosDefaults, rateLimitOptions?: rateLimitOptions, retryConfig?: IAxiosRetryConfig }): AxiosInstance => { let httpClient = axios.create(options?.defaults); if(options?.rateLimitOptions) { httpClient = axiosRateLimit(httpClient, options.rateLimitOptions); } if(options?.retryConfig){ axiosRetry(httpClient, options.retryConfig); } return httpClient; }