ngx-http-client-service
Version:
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> [](#contributors-) <!-- ALL-CONTRIBUTORS-BADGE:END -->
95 lines • 11.2 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
*/
let HttpOptionsService =
/** HttpOptionsService where all http options creations methods are defined
* It can contains http params and http headers creation functionality
*/
class HttpOptionsService {
/**
* @description Creates an instance of http options service.
*/
constructor() { }
/**
* @description appendHttpParams is a common method.
* @param httpParam contains an object of NgxHttpParams.
* @returns returns constructed httpParameters of type HttpParam
*/
appendHttpParams(ngxHttpParams) {
let httpParams = new HttpParams();
Object.entries(ngxHttpParams).forEach(([param, paramValue]) => {
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
*/
appendHttpHeaders(ngxHttpHeaders) {
let httpHeaders = new HttpHeaders();
Object.entries(ngxHttpHeaders).forEach(([header, headerValue]) => {
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.
*/
appendHttpOptions(httpOptionsParameters) {
if (!httpOptionsParameters) {
httpOptionsParameters = new NgxHttpOptions();
httpOptionsParameters.header = {};
httpOptionsParameters.param = {};
}
const 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);
export { HttpOptionsService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1vcHRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtaHR0cC1jbGllbnQtc2VydmljZS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9odHRwLW9wdGlvbnMvaHR0cC1vcHRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQWlDLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFN0c7O0dBRUc7QUFRSCxJQUFhLGtCQUFrQjtBQUgvQjs7R0FFRztBQUNILE1BQWEsa0JBQWtCO0lBQzdCOztPQUVHO0lBQ0gsZ0JBQWdCLENBQUM7SUFFakI7Ozs7T0FJRztJQUNLLGdCQUFnQixDQUFDLGFBQTRCO1FBQ25ELElBQUksVUFBVSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFO1lBQzVELElBQUksS0FBSyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDbEMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQzlEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGlCQUFpQixDQUFDLGNBQThCO1FBQ3RELElBQUksV0FBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDcEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFO1lBQy9ELElBQUksTUFBTSxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDcEMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQ2xFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLHFCQUFxQztRQUM1RCxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDMUIscUJBQXFCLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUM3QyxxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ2xDLHFCQUFxQixDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7U0FDbEM7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLElBQUkscUJBQXFCLENBQUMsS0FBSyxFQUFFO1lBQy9CLFdBQVcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pFO2FBQU07WUFDTCxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNoRDtRQUNELElBQUkscUJBQXFCLENBQUMsTUFBTSxFQUFFO1lBQ2hDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzVFO2FBQU07WUFDTCxXQUFXLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNsRDtRQUNELElBQUkscUJBQXFCLENBQUMsT0FBTyxFQUFFO1lBQ2pDLFdBQVcsQ0FBQyxPQUFPLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxxQkFBcUIsQ0FBQyxjQUFjLEVBQUU7WUFDeEMsV0FBVyxDQUFDLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxjQUFjLENBQUM7U0FDbkU7UUFDRCxJQUFJLHFCQUFxQixDQUFDLFlBQVksRUFBRTtZQUN0QyxXQUFXLENBQUMsWUFBWSxHQUFHLHFCQUFxQixDQUFDLFlBQVksQ0FBQztTQUMvRDtRQUNELElBQUkscUJBQXFCLENBQUMsZUFBZSxFQUFFO1lBQ3pDLFdBQVcsQ0FBQyxlQUFlLEdBQUcscUJBQXFCLENBQUMsZUFBZSxDQUFDO1NBQ3JFO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGLENBQUE7O0FBeEVZLGtCQUFrQjtJQVA5QixVQUFVLENBQUM7UUFDVixVQUFVLEVBQUUsTUFBTTtLQUNuQixDQUFDO0lBRUY7O09BRUc7R0FDVSxrQkFBa0IsQ0F3RTlCO1NBeEVZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE5neEh0dHBQYXJhbXMsIE5neEh0dHBIZWFkZXJzLCBIdHRwT3B0aW9ucywgTmd4SHR0cE9wdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvaHR0cC1vcHRpb25zLm1vZGVsJztcclxuXHJcbi8qKlxyXG4gKiBJbmplY3RhYmxlIEh0dHAgT3B0aW9ucyBTZXJ2aWNlXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcblxyXG4vKiogSHR0cE9wdGlvbnNTZXJ2aWNlIHdoZXJlIGFsbCBodHRwIG9wdGlvbnMgY3JlYXRpb25zIG1ldGhvZHMgYXJlIGRlZmluZWRcclxuICogIEl0IGNhbiBjb250YWlucyBodHRwIHBhcmFtcyBhbmQgaHR0cCBoZWFkZXJzIGNyZWF0aW9uIGZ1bmN0aW9uYWxpdHlcclxuICovXHJcbmV4cG9ydCBjbGFzcyBIdHRwT3B0aW9uc1NlcnZpY2Uge1xyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIGh0dHAgb3B0aW9ucyBzZXJ2aWNlLlxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBhcHBlbmRIdHRwUGFyYW1zIGlzIGEgY29tbW9uIG1ldGhvZC5cclxuICAgKiBAcGFyYW0gaHR0cFBhcmFtIGNvbnRhaW5zIGFuIG9iamVjdCBvZiBOZ3hIdHRwUGFyYW1zLlxyXG4gICAqIEByZXR1cm5zIHJldHVybnMgY29uc3RydWN0ZWQgaHR0cFBhcmFtZXRlcnMgb2YgdHlwZSBIdHRwUGFyYW1cclxuICAgKi9cclxuICBwcml2YXRlIGFwcGVuZEh0dHBQYXJhbXMobmd4SHR0cFBhcmFtczogTmd4SHR0cFBhcmFtcyk6IEh0dHBQYXJhbXMge1xyXG4gICAgbGV0IGh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgT2JqZWN0LmVudHJpZXMobmd4SHR0cFBhcmFtcykuZm9yRWFjaCgoW3BhcmFtLCBwYXJhbVZhbHVlXSkgPT4ge1xyXG4gICAgICBpZiAocGFyYW0gJiYgcGFyYW1WYWx1ZS50b1N0cmluZygpKSB7XHJcbiAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKHBhcmFtLCBwYXJhbVZhbHVlLnRvU3RyaW5nKCkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBodHRwUGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIGFwcGVuZEh0dHBIZWFkZXJzIGlzIGEgY29tbW9uIG1ldGhvZC5cclxuICAgKiBAcGFyYW0gaGVhZGVycyBjb250YWlucyBhbiBvYmplY3Qgb2YgTmd4SHR0cEhlYWRlcnMuXHJcbiAgICogQHJldHVybnMgcmV0dXJucyBjb25zdHJ1Y3RlZCBodHRwUGFyYW1ldGVycyBvZiB0eXBlIEh0dHBQYXJhbVxyXG4gICAqL1xyXG4gIHByaXZhdGUgYXBwZW5kSHR0cEhlYWRlcnMobmd4SHR0cEhlYWRlcnM6IE5neEh0dHBIZWFkZXJzKTogSHR0cEhlYWRlcnMge1xyXG4gICAgbGV0IGh0dHBIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICBPYmplY3QuZW50cmllcyhuZ3hIdHRwSGVhZGVycykuZm9yRWFjaCgoW2hlYWRlciwgaGVhZGVyVmFsdWVdKSA9PiB7XHJcbiAgICAgIGlmIChoZWFkZXIgJiYgaGVhZGVyVmFsdWUudG9TdHJpbmcoKSkge1xyXG4gICAgICAgIGh0dHBIZWFkZXJzID0gaHR0cEhlYWRlcnMuYXBwZW5kKGhlYWRlciwgaGVhZGVyVmFsdWUudG9TdHJpbmcoKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGh0dHBIZWFkZXJzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIHByb3ZpZGVzIHRoZSBodHRwIG9wdGlvbnMuXHJcbiAgICogQHBhcmFtIGh0dHBPcHRpb25zUGFyYW1ldGVycyBjb250YWlucyBwYXJhbXMgb2YgdHlwZSBOZ3hIdHRwT3B0aW9ucy5cclxuICAgKiBAcmV0dXJucyByZXR1cm5zIGFwcGVuZGQgaHR0cCBvcHRpb25zLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBhcHBlbmRIdHRwT3B0aW9ucyhodHRwT3B0aW9uc1BhcmFtZXRlcnM6IE5neEh0dHBPcHRpb25zKTogSHR0cE9wdGlvbnMge1xyXG4gICAgaWYgKCFodHRwT3B0aW9uc1BhcmFtZXRlcnMpIHtcclxuICAgICAgaHR0cE9wdGlvbnNQYXJhbWV0ZXJzID0gbmV3IE5neEh0dHBPcHRpb25zKCk7XHJcbiAgICAgIGh0dHBPcHRpb25zUGFyYW1ldGVycy5oZWFkZXIgPSB7fTtcclxuICAgICAgaHR0cE9wdGlvbnNQYXJhbWV0ZXJzLnBhcmFtID0ge307XHJcbiAgICB9XHJcbiAgICBjb25zdCBodHRwT3B0aW9ucyA9IG5ldyBIdHRwT3B0aW9ucygpO1xyXG4gICAgaWYgKGh0dHBPcHRpb25zUGFyYW1ldGVycy5wYXJhbSkge1xyXG4gICAgICBodHRwT3B0aW9ucy5wYXJhbXMgPSB0aGlzLmFwcGVuZEh0dHBQYXJhbXMoaHR0cE9wdGlvbnNQYXJhbWV0ZXJzLnBhcmFtKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGh0dHBPcHRpb25zLnBhcmFtcyA9IHRoaXMuYXBwZW5kSHR0cFBhcmFtcyh7fSk7XHJcbiAgICB9XHJcbiAgICBpZiAoaHR0cE9wdGlvbnNQYXJhbWV0ZXJzLmhlYWRlcikge1xyXG4gICAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gdGhpcy5hcHBlbmRIdHRwSGVhZGVycyhodHRwT3B0aW9uc1BhcmFtZXRlcnMuaGVhZGVyKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGh0dHBPcHRpb25zLmhlYWRlcnMgPSB0aGlzLmFwcGVuZEh0dHBIZWFkZXJzKHt9KTtcclxuICAgIH1cclxuICAgIGlmIChodHRwT3B0aW9uc1BhcmFtZXRlcnMub2JzZXJ2ZSkge1xyXG4gICAgICBodHRwT3B0aW9ucy5vYnNlcnZlID0gaHR0cE9wdGlvbnNQYXJhbWV0ZXJzLm9ic2VydmU7XHJcbiAgICB9XHJcbiAgICBpZiAoaHR0cE9wdGlvbnNQYXJhbWV0ZXJzLnJlcG9ydFByb2dyZXNzKSB7XHJcbiAgICAgIGh0dHBPcHRpb25zLnJlcG9ydFByb2dyZXNzID0gaHR0cE9wdGlvbnNQYXJhbWV0ZXJzLnJlcG9ydFByb2dyZXNzO1xyXG4gICAgfVxyXG4gICAgaWYgKGh0dHBPcHRpb25zUGFyYW1ldGVycy5yZXNwb25zZVR5cGUpIHtcclxuICAgICAgaHR0cE9wdGlvbnMucmVzcG9uc2VUeXBlID0gaHR0cE9wdGlvbnNQYXJhbWV0ZXJzLnJlc3BvbnNlVHlwZTtcclxuICAgIH1cclxuICAgIGlmIChodHRwT3B0aW9uc1BhcmFtZXRlcnMud2l0aENyZWRlbnRpYWxzKSB7XHJcbiAgICAgIGh0dHBPcHRpb25zLndpdGhDcmVkZW50aWFscyA9IGh0dHBPcHRpb25zUGFyYW1ldGVycy53aXRoQ3JlZGVudGlhbHM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaHR0cE9wdGlvbnM7XHJcbiAgfVxyXG59XHJcbiJdfQ==