UNPKG

@kaaiot/services

Version:

Type definitions for KaaIoT platform REST API service communication

27 lines (26 loc) 1.1 kB
import { AxiosPromise, AxiosRequestConfig, AxiosResponse } from 'axios'; import { ILogger } from "../logger/ILogger"; export declare type FetchResponse<T> = AxiosResponse<T>; export declare type FetchRequestConfig = AxiosRequestConfig & { internalClient?: 'ote' | 'system'; ignoreAuthError?: boolean; }; export interface FetcherOptions { urlPrefix?: string; name?: string; requestConfig?: FetchRequestConfig; } export declare class ServiceRequester { private urlPrefix; private readonly log; private name; private http; protected extractRequestData<T = any>(request: AxiosPromise<T>, failureMessage?: string): Promise<FetchResponse<T>>; constructor(options?: FetcherOptions, logger?: ILogger); setUrlPrefix(urlPrefix: string, skipVersion?: boolean): void; resetUrlPrefix(urlPrefix: string): void; setName(name: string): void; send<T>(config: FetchRequestConfig): Promise<FetchResponse<T>>; getResourceLink(response: FetchResponse<any>): string; fetchCreatedResource<T, R>(response: FetchResponse<T>): Promise<FetchResponse<R>>; }