@kaaiot/services
Version:
Type definitions for KaaIoT platform REST API service communication
27 lines (26 loc) • 1.1 kB
TypeScript
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>>;
}