@rudderstack/integrations-lib
Version:
30 lines • 1.15 kB
TypeScript
import { AxiosRequestConfig } from 'axios';
import { HttpClient } from './clients/types';
export { ApiResponse, ApplicationErrorApiResponse, ClientErrorApiResponse, SuccessfulApiResponse, ResponseParser, } from './clients/types';
export declare enum ClientNames {
Axios = "axios"
}
export type clientOptions = AxiosRequestConfig;
/**
* @class HttpClientFactory
* @classdesc
* A factory class to generate http clients
* @example
* const httpClient = HttpClientFactory.getHttpClient('axios');
* const response = await httpClient.post("https://example.com", { foo: "bar" });
* if (response.type === "success") {
* console.log(response.statusCode);
* console.log(response.responseBody);
* } else if (response.type === "application-error") {
* console.log(response.statusCode);
* console.log(response.message);
* console.log(response.responseBody);
* } else if (response.type === "client-error") {
* console.log(response.statusCode);
* console.log(response.message);
* }
*/
export declare class HttpClientFactory {
static getHttpClient(name: ClientNames, options?: clientOptions): HttpClient;
}
//# sourceMappingURL=factory.d.ts.map