///
import { AxiosError, AxiosProxyConfig, AxiosRequestConfig, AxiosResponse, Method, responseEncoding, ResponseType } from "axios";
import { IWildduckClientOptions } from "../interfaces/client-options.interface";
import { WildduckException } from "../exceptions/http.exception";
export declare function createHttpClient(options: IWildduckClientOptions): HttpClient;
export interface HttpOptions
{
headers?: {
[name: string]: string | number | null | undefined;
} | null;
params?: {
[key: string]: string | number | boolean | null | undefined;
} | null;
query?: {
[key: string]: string | number | boolean | null | undefined | Date | Array;
} | null;
body?: Body | FormData | null;
responseType?: ResponseType;
responseEncoding?: responseEncoding | string;
}
export interface HttpRequestConfig extends AxiosRequestConfig {
url_full: string;
}
export type HttpResult = Promise>;
export declare class HttpClient {
private options;
private http;
constructor(options: IWildduckClientOptions);
createUrl(path?: string, options?: Pick): string;
get(path?: string | string[], options?: Omit): HttpResult;
post(path?: string | string[], options?: HttpOptions): HttpResult;
put(path?: string | string[], options?: HttpOptions): HttpResult;
patch(path?: string | string[], options?: HttpOptions): HttpResult;
delete(path?: string | string[], options?: HttpOptions): HttpResult;
download(path?: string | string[], options?: {
method?: Method;
} & HttpOptions): HttpResult;
upload(path?: string | string[], options?: {
method?: Method;
} & HttpOptions): HttpResult;
request(method: Method, path?: string | string[], options?: HttpOptions): HttpResult;
private onRequest;
private onResponse;
private onError;
private buildRequestOptions;
}
export declare function createHttpProxySettings(options: IWildduckClientOptions): AxiosProxyConfig | false;
export declare function createHttpException(e: AxiosError): WildduckException;