UNPKG

ipink-util

Version:

util.js

66 lines (64 loc) 2.03 kB
import { AxiosBasicCredentials, AxiosProxyConfig, BrowserProgressEvent, CancelToken, GenericAbortSignal, HttpStatusCode, IResponse, Method, MethodsHeaders, RawAxiosRequestHeaders, responseEncoding, TransitionalOptions } from './typing'; /** * 参考 axios.AxiosProgressEvent */ interface AxiosProgressEvent { loaded: number; total?: number; progress?: number; bytes: number; rate?: number; estimated?: number; upload?: boolean; download?: boolean; event?: BrowserProgressEvent; } /** * 参考 axios.AxiosRequestConfig */ interface AxiosRequestConfig<D = any> { url?: string; method?: Method | string; base_url?: string; headers?: RawAxiosRequestHeaders & MethodsHeaders & Headers; params?: any; data?: D; timeout?: number; timeoutErrorMessage?: string; withCredentials?: boolean; auth?: AxiosBasicCredentials; responseType?: ResponseType; responseEncoding?: responseEncoding | string; xsrfCookieName?: string; xsrfHeaderName?: string; onUploadProgress?: (progressEvent: AxiosProgressEvent) => void; onDownloadProgress?: (progressEvent: AxiosProgressEvent) => void; maxContentLength?: number; validateStatus?: ((status: number) => boolean) | null; maxBodyLength?: number; maxRedirects?: number; maxRate?: number; beforeRedirect?: (options: Record<string, any>, responseDetails: { headers: Record<string, string>; statusCode: HttpStatusCode; }) => void; socketPath?: string | null; transport?: any; httpAgent?: any; httpsAgent?: any; proxy?: AxiosProxyConfig | false; cancelToken?: CancelToken; decompress?: boolean; transitional?: TransitionalOptions; signal?: GenericAbortSignal; insecureHTTPParser?: boolean; env?: { FormData?: new (...args: any[]) => object; }; [propName: string]: any; } /** * 使用 */ export declare const createHttp: () => <T>(config: AxiosRequestConfig) => Promise<IResponse<T>>; export {};