UNPKG

@intuitionrobotics/thunderstorm

Version:
32 lines (31 loc) 1.78 kB
import { ApiTypeBinder, HttpMethod, QueryParams } from "./types"; import { Module } from "@intuitionrobotics/ts-common"; import { RequestErrorHandler, RequestSuccessHandler, ResponseHandler } from "./request-types"; import { BaseHttpRequest } from "./BaseHttpRequest"; export type HttpConfig = { origin?: string; timeout?: number; compress?: boolean; }; export declare abstract class BaseHttpModule_Class<Config extends HttpConfig = HttpConfig> extends Module<Config> { private defaultErrorHandlers; private defaultSuccessHandlers; protected origin?: string; protected timeout: number; private readonly defaultResponseHandler; protected readonly defaultHeaders: { [s: string]: (() => string | string[]) | string | string[]; }; constructor(name: string); init(): void; shouldCompress(): boolean | undefined; addDefaultHeader(key: string, header: (() => string | string[]) | string | string[]): void; abstract createRequest<Binder extends ApiTypeBinder<U, R, B, P, E>, U extends string = Binder["url"], R = Binder["response"], B = Binder["body"], P extends QueryParams = Binder["queryParams"], E extends void | object = Binder["error"]>(method: HttpMethod, key: string, data?: string): BaseHttpRequest<Binder>; processDefaultResponseHandlers: (httpRequest: BaseHttpRequest<any>) => boolean; addDefaultResponseHandler(defaultResponseHandler: ResponseHandler): void; removeDefaultResponseHandler(defaultResponseHandler: ResponseHandler): void; setErrorHandlers(defaultErrorHandlers: RequestErrorHandler<any>[]): void; setSuccessHandlers(defaultErrorHandlers: RequestSuccessHandler[]): void; handleRequestFailure: RequestErrorHandler<any>; handleRequestSuccess: RequestSuccessHandler; }