UNPKG

@ima/plugin-http-client

Version:

Generic http client for the IMA application framework.

48 lines 1.94 kB
import type { Dependencies, HttpAgent, HttpAgentRequestOptions } from '@ima/core'; declare module '@ima/core' { interface OCAliasMap { HttpClientDefaultProcessors: Processor[]; } } import type { Processor, ProcessorParams } from './AbstractProcessor'; export declare const OPTION_TRANSFORM_PROCESSORS = "transformProcessors"; export type HttpClientRequestOptions = { [OPTION_TRANSFORM_PROCESSORS]?: (processor: Processor[]) => Processor[]; } & Partial<HttpAgentRequestOptions>; export type HttpClientRequestMethod = 'get' | 'put' | 'post' | 'patch' | 'delete'; export type HttpClientRequest = { method: HttpClientRequestMethod; url: string; data?: Record<string, any>; options?: HttpClientRequestOptions; }; /** * HttpClient use ima HttpAgent and adds support for processors. */ export declare class HttpClient { #private; static get $dependencies(): Dependencies; constructor(http: HttpAgent, ...defaultProcessors: Processor[]); /** * Method registerProcessor added to defaultProcessors new processor * @param processor */ registerProcessor(processor: Processor): void; /** * You can call request with additionalParams for processors. The request is processed by pre request processors method. * If pre request processors don't return response, ima HttpAgent request is called. * In the end the request is processed by post request processors method. * * @param request * @param additionalParams */ request<B = any>(request: HttpClientRequest, additionalParams?: object): Promise<ProcessorParams<B>>; invalidateCache(...args: Parameters<HttpAgent['invalidateCache']>): void; /** * Method for default transforming registered processors * @param processors * @returns Processor[] */ defaultTransformProcessors(processors: Processor[]): Processor[]; } //# sourceMappingURL=HttpClient.d.ts.map