@alfresco/adf-core
Version:
69 lines (68 loc) • 2.96 kB
TypeScript
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>;
}