@vegajs/http-client-adapter
Version:
A flexible, type-safe HTTP client adapter for TypeScript and JavaScript. Supports custom adapters and includes an out-of-the-box Axios adapter for easy HTTP request handling.
27 lines (26 loc) • 1.38 kB
TypeScript
import type { Headers, HttpClient, InitParams, MethodParams, SearchParams } from '../../types';
import { InterceptorManager } from './interceptor-manager';
export declare class HttpError extends Error {
status: number;
statusText: string;
constructor(status: number, statusText: string, message?: string);
}
export declare class FetchAdapter implements HttpClient {
private baseURL;
private headers;
private readonly fetchFn;
interceptors: InterceptorManager;
constructor(baseURL?: string, fetchFn?: typeof fetch);
init(params: InitParams): void;
addHeaders(headers: Headers): void;
private buildUrl;
private mergeHeaders;
private processBody;
private parseResponse;
private request;
get<Data = unknown, Params = SearchParams>(point: string, params?: MethodParams<Params>): Promise<Data>;
post<Data = unknown, Body = unknown, Params = SearchParams>(point: string, body: Body, params?: MethodParams<Params>): Promise<Data>;
put<Data = unknown, Body = unknown, Params = SearchParams>(point: string, body: Body, params?: MethodParams<Params>): Promise<Data>;
patch<Data = unknown, Body = unknown, Params = SearchParams>(point: string, body: Body, params?: MethodParams<Params>): Promise<Data>;
delete<Data = unknown, Params = SearchParams>(point: string, params?: MethodParams<Params>): Promise<Data>;
}