UNPKG

@itwin/imodels-client-management

Version:

iModels API client wrapper for applications that manage iModels.

61 lines 2.74 kB
import { AuthorizationParam, BinaryContentType, ContentType, HeaderFactories, HeadersParam, HttpResponse, IModelsOriginalError, PreferReturn, RestClient, SupportedGetResponseTypes } from "../types"; import { CollectionResponse } from "./ApiResponseInterfaces"; import { ResponseInfo } from "./IModelsErrorParser"; import { EntityCollectionPage } from "./UtilityTypes"; type CommonRequestParams = AuthorizationParam & HeadersParam; /** * Function that is called if the HTTP request fails and which returns an error that will be thrown by one of the * methods in {@link RestClient}. */ export type ParseErrorFunc = (response: ResponseInfo, originalError: IModelsOriginalError) => Error; export type SendGetRequestParams = CommonRequestParams & { url: string; preferReturn?: PreferReturn; responseType?: SupportedGetResponseTypes; }; export type SendPostRequestParams = CommonRequestParams & { url: string; body: object | undefined; }; export type SendPutRequestParams = CommonRequestParams & { url: string; contentType?: BinaryContentType; body: Uint8Array; }; export type SendPatchRequestParams = SendPostRequestParams; export type SendDeleteRequestParams = CommonRequestParams & { url: string; }; export interface OperationsBaseOptions { restClient: RestClient; api: { version: string; }; headers: HeaderFactories; parseErrorFunc: ParseErrorFunc; } export declare class OperationsBase<TOptions extends OperationsBaseOptions> { protected _options: TOptions; constructor(_options: TOptions); protected sendGetRequest<TBody>(params: SendGetRequestParams & { responseType?: ContentType.Json; }): Promise<HttpResponse<TBody>>; protected sendGetRequest(params: SendGetRequestParams & { responseType: ContentType.Png; }): Promise<HttpResponse<Uint8Array>>; protected sendPostRequest<TBody>(params: SendPostRequestParams): Promise<HttpResponse<TBody>>; protected sendPutRequest<TBody>(params: SendPutRequestParams): Promise<HttpResponse<TBody>>; protected sendPatchRequest<TBody>(params: SendPatchRequestParams): Promise<HttpResponse<TBody>>; protected sendDeleteRequest<TBody>(params: SendDeleteRequestParams): Promise<HttpResponse<TBody>>; protected getEntityCollectionPage<TEntity, TResponse extends CollectionResponse>(params: CommonRequestParams & { url: string; preferReturn?: PreferReturn; entityCollectionAccessor: (response: HttpResponse<TResponse>) => TEntity[]; }): Promise<EntityCollectionPage<TEntity>>; private executeRequest; private resolveHeaderValue; private addOrUpdateHeaders; private formHeaders; } export {}; //# sourceMappingURL=OperationsBase.d.ts.map