ngx-http-client-service
Version:
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> [](#contributors-) <!-- ALL-CONTRIBUTORS-BADGE:END -->
95 lines • 11.4 kB
JavaScript
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';
import { HttpHeaders, HttpParams } from '@angular/common/http';
import { HttpOptions, NgxHttpOptions } from '../../models/http-options.model';
import * as i0 from "@angular/core";
/**
* Injectable Http Options Service
*/
var HttpOptionsService = /** @class */ (function () {
/**
* @description Creates an instance of http options service.
*/
function HttpOptionsService() {
}
/**
* @description appendHttpParams is a common method.
* @param httpParam contains an object of NgxHttpParams.
* @returns returns constructed httpParameters of type HttpParam
*/
HttpOptionsService.prototype.appendHttpParams = function (ngxHttpParams) {
var httpParams = new HttpParams();
Object.entries(ngxHttpParams).forEach(function (_a) {
var _b = tslib_1.__read(_a, 2), param = _b[0], paramValue = _b[1];
if (param && paramValue.toString()) {
httpParams = httpParams.append(param, paramValue.toString());
}
});
return httpParams;
};
/**
* @description appendHttpHeaders is a common method.
* @param headers contains an object of NgxHttpHeaders.
* @returns returns constructed httpParameters of type HttpParam
*/
HttpOptionsService.prototype.appendHttpHeaders = function (ngxHttpHeaders) {
var httpHeaders = new HttpHeaders();
Object.entries(ngxHttpHeaders).forEach(function (_a) {
var _b = tslib_1.__read(_a, 2), header = _b[0], headerValue = _b[1];
if (header && headerValue.toString()) {
httpHeaders = httpHeaders.append(header, headerValue.toString());
}
});
return httpHeaders;
};
/**
* @description provides the http options.
* @param httpOptionsParameters contains params of type NgxHttpOptions.
* @returns returns appendd http options.
*/
HttpOptionsService.prototype.appendHttpOptions = function (httpOptionsParameters) {
if (!httpOptionsParameters) {
httpOptionsParameters = new NgxHttpOptions();
httpOptionsParameters.header = {};
httpOptionsParameters.param = {};
}
var httpOptions = new HttpOptions();
if (httpOptionsParameters.param) {
httpOptions.params = this.appendHttpParams(httpOptionsParameters.param);
}
else {
httpOptions.params = this.appendHttpParams({});
}
if (httpOptionsParameters.header) {
httpOptions.headers = this.appendHttpHeaders(httpOptionsParameters.header);
}
else {
httpOptions.headers = this.appendHttpHeaders({});
}
if (httpOptionsParameters.observe) {
httpOptions.observe = httpOptionsParameters.observe;
}
if (httpOptionsParameters.reportProgress) {
httpOptions.reportProgress = httpOptionsParameters.reportProgress;
}
if (httpOptionsParameters.responseType) {
httpOptions.responseType = httpOptionsParameters.responseType;
}
if (httpOptionsParameters.withCredentials) {
httpOptions.withCredentials = httpOptionsParameters.withCredentials;
}
return httpOptions;
};
HttpOptionsService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function HttpOptionsService_Factory() { return new HttpOptionsService(); }, token: HttpOptionsService, providedIn: "root" });
HttpOptionsService = tslib_1.__decorate([
Injectable({
providedIn: 'root'
})
/** HttpOptionsService where all http options creations methods are defined
* It can contains http params and http headers creation functionality
*/
], HttpOptionsService);
return HttpOptionsService;
}());
export { HttpOptionsService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1vcHRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtaHR0cC1jbGllbnQtc2VydmljZS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9odHRwLW9wdGlvbnMvaHR0cC1vcHRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQWlDLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFN0c7O0dBRUc7QUFRSDtJQUNFOztPQUVHO0lBQ0g7SUFBZ0IsQ0FBQztJQUVqQjs7OztPQUlHO0lBQ0ssNkNBQWdCLEdBQXhCLFVBQXlCLGFBQTRCO1FBQ25ELElBQUksVUFBVSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxFQUFtQjtnQkFBbkIsMEJBQW1CLEVBQWxCLGFBQUssRUFBRSxrQkFBVTtZQUN2RCxJQUFJLEtBQUssSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2xDLFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUM5RDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyw4Q0FBaUIsR0FBekIsVUFBMEIsY0FBOEI7UUFDdEQsSUFBSSxXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNwQyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFDLEVBQXFCO2dCQUFyQiwwQkFBcUIsRUFBcEIsY0FBTSxFQUFFLG1CQUFXO1lBQzFELElBQUksTUFBTSxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDcEMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQ2xFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLDhDQUFpQixHQUF4QixVQUF5QixxQkFBcUM7UUFDNUQsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQzFCLHFCQUFxQixHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7WUFDN0MscUJBQXFCLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUNsQyxxQkFBcUIsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ2xDO1FBQ0QsSUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFJLHFCQUFxQixDQUFDLEtBQUssRUFBRTtZQUMvQixXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6RTthQUFNO1lBQ0wsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDaEQ7UUFDRCxJQUFJLHFCQUFxQixDQUFDLE1BQU0sRUFBRTtZQUNoQyxXQUFXLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM1RTthQUFNO1lBQ0wsV0FBVyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbEQ7UUFDRCxJQUFJLHFCQUFxQixDQUFDLE9BQU8sRUFBRTtZQUNqQyxXQUFXLENBQUMsT0FBTyxHQUFHLHFCQUFxQixDQUFDLE9BQU8sQ0FBQztTQUNyRDtRQUNELElBQUkscUJBQXFCLENBQUMsY0FBYyxFQUFFO1lBQ3hDLFdBQVcsQ0FBQyxjQUFjLEdBQUcscUJBQXFCLENBQUMsY0FBYyxDQUFDO1NBQ25FO1FBQ0QsSUFBSSxxQkFBcUIsQ0FBQyxZQUFZLEVBQUU7WUFDdEMsV0FBVyxDQUFDLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxZQUFZLENBQUM7U0FDL0Q7UUFDRCxJQUFJLHFCQUFxQixDQUFDLGVBQWUsRUFBRTtZQUN6QyxXQUFXLENBQUMsZUFBZSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FBQztTQUNyRTtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7O0lBdkVVLGtCQUFrQjtRQVA5QixVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDO1FBRUY7O1dBRUc7T0FDVSxrQkFBa0IsQ0F3RTlCOzZCQXRGRDtDQXNGQyxBQXhFRCxJQXdFQztTQXhFWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBOZ3hIdHRwUGFyYW1zLCBOZ3hIdHRwSGVhZGVycywgSHR0cE9wdGlvbnMsIE5neEh0dHBPcHRpb25zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2h0dHAtb3B0aW9ucy5tb2RlbCc7XHJcblxyXG4vKipcclxuICogSW5qZWN0YWJsZSBIdHRwIE9wdGlvbnMgU2VydmljZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5cclxuLyoqIEh0dHBPcHRpb25zU2VydmljZSB3aGVyZSBhbGwgaHR0cCBvcHRpb25zIGNyZWF0aW9ucyBtZXRob2RzIGFyZSBkZWZpbmVkXHJcbiAqICBJdCBjYW4gY29udGFpbnMgaHR0cCBwYXJhbXMgYW5kIGh0dHAgaGVhZGVycyBjcmVhdGlvbiBmdW5jdGlvbmFsaXR5XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgSHR0cE9wdGlvbnNTZXJ2aWNlIHtcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBodHRwIG9wdGlvbnMgc2VydmljZS5cclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gYXBwZW5kSHR0cFBhcmFtcyBpcyBhIGNvbW1vbiBtZXRob2QuXHJcbiAgICogQHBhcmFtIGh0dHBQYXJhbSBjb250YWlucyBhbiBvYmplY3Qgb2YgTmd4SHR0cFBhcmFtcy5cclxuICAgKiBAcmV0dXJucyByZXR1cm5zIGNvbnN0cnVjdGVkIGh0dHBQYXJhbWV0ZXJzIG9mIHR5cGUgSHR0cFBhcmFtXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhcHBlbmRIdHRwUGFyYW1zKG5neEh0dHBQYXJhbXM6IE5neEh0dHBQYXJhbXMpOiBIdHRwUGFyYW1zIHtcclxuICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIE9iamVjdC5lbnRyaWVzKG5neEh0dHBQYXJhbXMpLmZvckVhY2goKFtwYXJhbSwgcGFyYW1WYWx1ZV0pID0+IHtcclxuICAgICAgaWYgKHBhcmFtICYmIHBhcmFtVmFsdWUudG9TdHJpbmcoKSkge1xyXG4gICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZChwYXJhbSwgcGFyYW1WYWx1ZS50b1N0cmluZygpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gaHR0cFBhcmFtcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBhcHBlbmRIdHRwSGVhZGVycyBpcyBhIGNvbW1vbiBtZXRob2QuXHJcbiAgICogQHBhcmFtIGhlYWRlcnMgY29udGFpbnMgYW4gb2JqZWN0IG9mIE5neEh0dHBIZWFkZXJzLlxyXG4gICAqIEByZXR1cm5zIHJldHVybnMgY29uc3RydWN0ZWQgaHR0cFBhcmFtZXRlcnMgb2YgdHlwZSBIdHRwUGFyYW1cclxuICAgKi9cclxuICBwcml2YXRlIGFwcGVuZEh0dHBIZWFkZXJzKG5neEh0dHBIZWFkZXJzOiBOZ3hIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzIHtcclxuICAgIGxldCBodHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgT2JqZWN0LmVudHJpZXMobmd4SHR0cEhlYWRlcnMpLmZvckVhY2goKFtoZWFkZXIsIGhlYWRlclZhbHVlXSkgPT4ge1xyXG4gICAgICBpZiAoaGVhZGVyICYmIGhlYWRlclZhbHVlLnRvU3RyaW5nKCkpIHtcclxuICAgICAgICBodHRwSGVhZGVycyA9IGh0dHBIZWFkZXJzLmFwcGVuZChoZWFkZXIsIGhlYWRlclZhbHVlLnRvU3RyaW5nKCkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBodHRwSGVhZGVycztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBwcm92aWRlcyB0aGUgaHR0cCBvcHRpb25zLlxyXG4gICAqIEBwYXJhbSBodHRwT3B0aW9uc1BhcmFtZXRlcnMgY29udGFpbnMgcGFyYW1zIG9mIHR5cGUgTmd4SHR0cE9wdGlvbnMuXHJcbiAgICogQHJldHVybnMgcmV0dXJucyBhcHBlbmRkIGh0dHAgb3B0aW9ucy5cclxuICAgKi9cclxuICBwdWJsaWMgYXBwZW5kSHR0cE9wdGlvbnMoaHR0cE9wdGlvbnNQYXJhbWV0ZXJzOiBOZ3hIdHRwT3B0aW9ucyk6IEh0dHBPcHRpb25zIHtcclxuICAgIGlmICghaHR0cE9wdGlvbnNQYXJhbWV0ZXJzKSB7XHJcbiAgICAgIGh0dHBPcHRpb25zUGFyYW1ldGVycyA9IG5ldyBOZ3hIdHRwT3B0aW9ucygpO1xyXG4gICAgICBodHRwT3B0aW9uc1BhcmFtZXRlcnMuaGVhZGVyID0ge307XHJcbiAgICAgIGh0dHBPcHRpb25zUGFyYW1ldGVycy5wYXJhbSA9IHt9O1xyXG4gICAgfVxyXG4gICAgY29uc3QgaHR0cE9wdGlvbnMgPSBuZXcgSHR0cE9wdGlvbnMoKTtcclxuICAgIGlmIChodHRwT3B0aW9uc1BhcmFtZXRlcnMucGFyYW0pIHtcclxuICAgICAgaHR0cE9wdGlvbnMucGFyYW1zID0gdGhpcy5hcHBlbmRIdHRwUGFyYW1zKGh0dHBPcHRpb25zUGFyYW1ldGVycy5wYXJhbSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBodHRwT3B0aW9ucy5wYXJhbXMgPSB0aGlzLmFwcGVuZEh0dHBQYXJhbXMoe30pO1xyXG4gICAgfVxyXG4gICAgaWYgKGh0dHBPcHRpb25zUGFyYW1ldGVycy5oZWFkZXIpIHtcclxuICAgICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IHRoaXMuYXBwZW5kSHR0cEhlYWRlcnMoaHR0cE9wdGlvbnNQYXJhbWV0ZXJzLmhlYWRlcik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gdGhpcy5hcHBlbmRIdHRwSGVhZGVycyh7fSk7XHJcbiAgICB9XHJcbiAgICBpZiAoaHR0cE9wdGlvbnNQYXJhbWV0ZXJzLm9ic2VydmUpIHtcclxuICAgICAgaHR0cE9wdGlvbnMub2JzZXJ2ZSA9IGh0dHBPcHRpb25zUGFyYW1ldGVycy5vYnNlcnZlO1xyXG4gICAgfVxyXG4gICAgaWYgKGh0dHBPcHRpb25zUGFyYW1ldGVycy5yZXBvcnRQcm9ncmVzcykge1xyXG4gICAgICBodHRwT3B0aW9ucy5yZXBvcnRQcm9ncmVzcyA9IGh0dHBPcHRpb25zUGFyYW1ldGVycy5yZXBvcnRQcm9ncmVzcztcclxuICAgIH1cclxuICAgIGlmIChodHRwT3B0aW9uc1BhcmFtZXRlcnMucmVzcG9uc2VUeXBlKSB7XHJcbiAgICAgIGh0dHBPcHRpb25zLnJlc3BvbnNlVHlwZSA9IGh0dHBPcHRpb25zUGFyYW1ldGVycy5yZXNwb25zZVR5cGU7XHJcbiAgICB9XHJcbiAgICBpZiAoaHR0cE9wdGlvbnNQYXJhbWV0ZXJzLndpdGhDcmVkZW50aWFscykge1xyXG4gICAgICBodHRwT3B0aW9ucy53aXRoQ3JlZGVudGlhbHMgPSBodHRwT3B0aW9uc1BhcmFtZXRlcnMud2l0aENyZWRlbnRpYWxzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGh0dHBPcHRpb25zO1xyXG4gIH1cclxufVxyXG4iXX0=