@allgroup/yandex-taxi-fleet-api
Version:
Unofficial yandex taxi fleet api library
19 lines (18 loc) • 710 B
text/typescript
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;
}