UNPKG

@alfresco/adf-core

Version:
69 lines (68 loc) 2.96 kB
import { Emitters as JsApiEmitters, HttpClient as JsApiHttpClient } from '@alfresco/js-api'; import { HttpClient } from '@angular/common/http'; import { RequestOptions, SecurityOptions } from './interfaces'; import ee, { Emitter } from 'event-emitter'; import * as i0 from "@angular/core"; export interface Emitters { readonly eventEmitter: Emitter; readonly apiClientEmitter: Emitter; } export declare class AdfHttpClient implements ee.Emitter, JsApiHttpClient { private httpClient; on: ee.EmitterMethod; off: ee.EmitterMethod; once: ee.EmitterMethod; _disableCsrf: boolean; emit: (type: string, ...args: any[]) => void; get disableCsrf(): boolean; set disableCsrf(disableCsrf: boolean); private defaultSecurityOptions; constructor(httpClient: HttpClient); setDefaultSecurityOption(options: any): void; merge(...objects: any[]): any; request<T = any>(url: string, options?: RequestOptions, sc?: SecurityOptions, emitters?: JsApiEmitters): Promise<T>; post<T = any>(url: string, options?: RequestOptions, sc?: SecurityOptions, emitters?: JsApiEmitters): Promise<T>; put<T = any>(url: string, options?: RequestOptions, sc?: SecurityOptions, emitters?: JsApiEmitters): Promise<T>; get<T = any>(url: string, options?: RequestOptions, sc?: SecurityOptions, emitters?: JsApiEmitters): Promise<T>; delete<T = void>(url: string, options?: RequestOptions, sc?: SecurityOptions, emitters?: JsApiEmitters): Promise<T>; private addPromiseListeners; private getEventEmitters; private requestWithLegacyEventEmitters; private static getBody; private getHeaders; /** * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first. * * @param contentTypes a contentType array * @returns The chosen content type, preferring JSON. */ private static jsonPreferredMime; /** * Checks whether the given content type represents JSON.<br> * JSON content type examples:<br> * <ul> * <li>application/json</li> * <li>application/json; charset=UTF8</li> * <li>APPLICATION/JSON</li> * </ul> * * @param contentType The MIME content type to check. * @returns <code>true</code> if <code>contentType</code> represents JSON, otherwise <code>false</code>. */ private static isJsonMime; private setCsrfToken; private createCSRFToken; private static getSecureRandomValue; private static getResponseType; /** * Deserialize an HTTP response body into a value of the specified type. * * @param response response object * @param returnType return type * @returns deserialized object */ private static deserialize; private static deserializeBlobResponse; static ɵfac: i0.ɵɵFactoryDeclaration<AdfHttpClient, never>; static ɵprov: i0.ɵɵInjectableDeclaration<AdfHttpClient>; }