in src/GenericRestClient.ts [50:90]
protected _performApiCall<T>(apiPath: string,
action: HttpAction,
objToPost: any,
givenOptions: Partial<ApiCallOptions & TCustomOptions> = {}): ApiCallResponse<T, TCustomOptions> {
const options: ApiCallOptions & Partial<TCustomOptions> = { ...this._defaultOptions, ...givenOptions };
if (objToPost) {
options.sendData = objToPost;
}
if (options.eTag) {
if (!options.augmentHeaders) {
options.augmentHeaders = {};
}
options.augmentHeaders['If-None-Match'] = options.eTag;
}
if (!options.contentType) {
options.contentType = isString(options.sendData) ? 'form' : 'json';
}
const finalUrl = options.excludeEndpointUrl ? apiPath : this._endpointUrl + apiPath;
const req = new SimpleWebRequest<T, ApiCallOptions & Partial<TCustomOptions>>(
action,
finalUrl,
options,
() => this._getHeaders(options),
() => this._blockRequestUntil(options),
);
const promise = req.start().then(response => {
this._processSuccessResponse<T>(response);
return response;
});
return {
req,
promise,
};
}