reduct-js
Version:
ReductStore Client SDK for Javascript/NodeJS/Typescript
30 lines (29 loc) • 1.42 kB
TypeScript
import { ClientOptions } from "../Client";
export type ValidResponse = object | string | ReadableStream<Uint8Array>;
export type FetchResult<T extends ValidResponse = ValidResponse> = {
data: T;
headers: Headers;
status: number;
};
export declare class HttpClient {
private baseURL;
private readonly timeout?;
private readonly headers;
private readonly dispatcher?;
private readonly fetchImpl;
apiVersion?: [number, number];
private readonly keepAlive;
private readonly stickySessions;
private readonly cookieJar?;
constructor(url: string, options?: ClientOptions);
close(): Promise<void>;
private request;
private encodeBody;
private parseResponse;
get<T extends ValidResponse = ValidResponse>(url: string, headers?: HeadersInit): Promise<FetchResult<T>>;
post<T extends ValidResponse = ValidResponse>(url: string, data?: unknown, headers?: HeadersInit): Promise<FetchResult<T>>;
put<T extends ValidResponse = ValidResponse>(url: string, data?: unknown, headers?: HeadersInit): Promise<FetchResult<T>>;
patch<T extends ValidResponse = ValidResponse>(url: string, data?: unknown, headers?: HeadersInit): Promise<FetchResult<T>>;
delete<T extends ValidResponse = ValidResponse>(url: string, headers?: HeadersInit): Promise<FetchResult<T>>;
head(url: string, headers?: HeadersInit): Promise<FetchResult<Record<string, never>>>;
}