UNPKG

@rushdb/javascript-sdk

Version:

RushDB Javascript SDK

49 lines (48 loc) 1.84 kB
import type { RequestData, RequestHeaders, ResponseHeaders } from './types.js'; type TimeoutError = TypeError & { code?: string; }; export interface HttpClientInterface { makeRequest: (url: string, config: MakeRequestConfig) => Promise<HttpClientResponseInterface>; } export interface MakeRequestConfig<T extends Record<string, any> = Record<string, any>> { credentials?: RequestCredentials; headers?: RequestHeaders; method: string; protocol?: string; requestData?: RequestData; timeout?: number; } export interface HttpClientResponseInterface { getHeaders: () => ResponseHeaders; getRawResponse: () => unknown; getStatusCode: () => number; toJSON: () => Promise<any>; toStream: (streamCompleteCallback: () => void) => unknown; } export declare class HttpClient implements HttpClientInterface { static CONNECTION_CLOSED_ERROR_CODES: Array<string>; static TIMEOUT_ERROR_CODE: string; makeRequest(url: string, { headers, method, protocol, requestData, timeout }: MakeRequestConfig): Promise<HttpClientResponseInterface>; static makeTimeoutError(): TimeoutError; } export declare class HttpClientGenericResponse implements HttpClientResponseInterface { _statusCode: number; _headers: ResponseHeaders; constructor(statusCode: number, headers: ResponseHeaders); getStatusCode(): number; getHeaders(): ResponseHeaders; getRawResponse(): unknown; toStream(streamCompleteCallback: () => void): unknown; toJSON(): any; } export declare class HttpClientResponse<T = unknown> implements HttpClientResponseInterface { _res: T; constructor(response: T); getStatusCode(): number; getHeaders(): ResponseHeaders; getRawResponse(): unknown; toStream(streamCompleteCallback: () => void): unknown; toJSON(): any; } export {};