UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

1,250 lines (1,249 loc) 154 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Response, Headers, RequestOptions } from '@angular/http'; const /** @type {?} */ GET = 'GET'; const /** @type {?} */ POST = 'POST'; const /** @type {?} */ PUT = 'PUT'; const /** @type {?} */ DELETE = 'DELETE'; const /** @type {?} */ PATCH = 'PATCH'; const /** @type {?} */ HEAD = 'HEAD'; const /** @type {?} */ OPTIONS = 'OPTIONS'; const /** @type {?} */ ROUND_ROBIN = 'ROUND_ROBIN'; const /** @type {?} */ PING = 'PING'; const /** @type {?} */ LATENCY = 'LATENCY'; export class DefaultConnectionManager { /** * @param {?} baseURLs * @param {?} http * @param {?} bgProcMgr */ constructor(baseURLs, http, bgProcMgr) { // default as round robin this.mode = { type: ROUND_ROBIN, }; if (typeof baseURLs === 'string') { this.baseURLs = []; this.baseURLs.push(baseURLs); } else { this.baseURLs = baseURLs; } if (this.baseURLs == null || this.baseURLs === undefined) { this.baseURLs = []; } this.PROCESS_OPTIONS = { type: 'connection.data', name: '' }; this.http = http; this.bgProcessMgr = bgProcMgr; this.defaultHeaders = new Headers(); this.search = {}; this.params = {}; } /** * @return {?} */ getMaxDurationMillisec() { let /** @type {?} */ processes = this.getRunningProcesses(); if (processes.length <= 0) { return null; } let /** @type {?} */ max = 0; for (let /** @type {?} */ process of processes) { let /** @type {?} */ startTime = process.startTime; let /** @type {?} */ curTime = new Date(); if (startTime !== null && typeof startTime !== 'undefined') { continue; } let /** @type {?} */ milliseconds1 = startTime.getMilliseconds(); let /** @type {?} */ milliseconds2 = curTime.getMilliseconds(); let /** @type {?} */ dif = milliseconds1 - milliseconds2; if (dif > max) { max = dif; } } return max; } /** * @param {?} response * @return {?} */ getResponseBodyAsContent(response) { if (response !== null && typeof response !== 'undefined') { let /** @type {?} */ resHeader = response.headers; if (resHeader !== null && typeof resHeader !== 'undefined') { let /** @type {?} */ contentType = resHeader.get("Content-Type"); if (contentType === 'application/json') { return response.json(); } else { return response.text(); } } } return ''; } /** * @param {?} httpProm * @return {?} */ getResponseBodyHttpPromise(httpProm) { if (httpProm === null || typeof httpProm === 'undefined') { return null; } return new Promise((resolve, reject) => { if (httpProm !== null && typeof httpProm !== 'undefined') { // return Promise only json or text httpProm.then((response) => { // if not type response always reject if (response === null || typeof response === 'undefined' || !(response instanceof Response)) { reject(response); } // check status code if (response.status >= 200 && response.status <= 299) { // status 2xx resolve(this.getResponseBodyAsContent(response)); } else { // if not 2xx then reject reject(this.getResponseBodyAsContent(response)); } }).catch((error) => { if (error === null || typeof error === 'undefined' || error.constructor.name !== 'Response') { reject(error); } resolve(this.getResponseBodyAsContent(error)); }); } }); } /** * @return {?} */ loadBalanceURL() { if (this.mode.type === ROUND_ROBIN) { if (this.mode.count === undefined || ((this.mode.count + 1) >= this.baseURLs.length)) { this.mode.count = 0; } else { ++this.mode.count; } return this.baseURLs[this.mode.count]; } else if (this.mode.type === PING) { return ""; } else if (this.mode.type === LATENCY) { return ""; } else { return ""; } } /** * @param {?} value * @return {?} */ getAppendBaseURL(value) { // baseURL let /** @type {?} */ resultURL = value; let /** @type {?} */ baseUrl = ""; if (this.baseURLs !== undefined && this.baseURLs !== null && this.baseURLs.length > 0) { baseUrl = this.loadBalanceURL(); } if (baseUrl.endsWith("/")) { baseUrl = baseUrl.substring(0, baseUrl.length - 1); } if (value !== null && typeof value !== 'undefined') { if (value.startsWith("./")) { resultURL = baseUrl + "/" + value.substring(value.indexOf("./") + 2, value.length); } else if (value.startsWith("/") || (value.indexOf("://") >= 0)) { // do nothing } else { resultURL = baseUrl + "/" + value; } } return resultURL; } /** * @param {?} options * @return {?} */ addConnectionOptionsSetting(options) { // add by default this.addRequestOptionsHeaders(options, this.defaultHeaders); // add search this.addRequestOptionsSearch(options, this.search); // add param this.addRequestOptionsParams(options, this.params); } /** * @param {?} options * @param {?} search * @return {?} */ addRequestOptionsSearch(options, search) { if (options === null || typeof options === 'undefined') { return; } if (search === null || typeof search === 'undefined') { return; } if (options.search !== null && typeof options.search !== 'undefined') { for (let /** @type {?} */ key in search) { if (options.search.hasOwnProperty(key)) { // continue cause key in option has more priority continue; } options.search[key] = search[key]; } } else { options.search = search; } } /** * @param {?} options * @param {?} params * @return {?} */ addRequestOptionsParams(options, params) { if (options === null || typeof options === 'undefined') { return; } if (params === null || typeof params === 'undefined') { return; } if (options.params !== null && typeof options.params !== 'undefined') { for (let /** @type {?} */ key in params) { if (options.params.hasOwnProperty(key)) { // continue cause key in option has more priority continue; } options.params[key] = params[key]; } } else { options.params = params; } } /** * @param {?} options * @param {?} headers * @return {?} */ addRequestOptionsHeaders(options, headers) { if (options === null || typeof options === 'undefined') { return; } if (headers === null || typeof headers === 'undefined') { return; } if (options.headers !== null && typeof options.headers !== 'undefined') { for (let /** @type {?} */ key in headers.keys()) { if (options.headers.has(key)) { // continue cause key in option has more priority continue; } options.headers.append(key, headers.get(key)); } } else { options.headers = headers; } } /** * @return {?} */ getPhloxAppInfo() { return this.phloxAppInfo; } /** * @param {?} phloxAppInfo * @return {?} */ setPhloxAppInfo(phloxAppInfo) { this.phloxAppInfo = phloxAppInfo; } /** * @param {?} url * @param {?} requestOptionsArgs * @return {?} */ get(url, requestOptionsArgs) { let /** @type {?} */ httpProm = this.getWithHttpInfo(url, requestOptionsArgs); return this.getResponseBodyHttpPromise(httpProm); } /** * @param {?} url * @param {?} requestOptionsArgs * @return {?} */ getWithHttpInfo(url, requestOptionsArgs) { if (this.http === null || typeof this.http === 'undefined') { return null; } let /** @type {?} */ mergeDefaultHeader = true; let /** @type {?} */ bgProcessOption = null; if (typeof requestOptionsArgs === 'boolean') { mergeDefaultHeader = requestOptionsArgs; requestOptionsArgs = null; } else if (typeof requestOptionsArgs === 'object') { if (requestOptionsArgs.constructor.name !== "RequestOptions") { if (requestOptionsArgs.mergeDefaultHeader !== undefined && typeof requestOptionsArgs.mergeDefaultHeader === "boolean") { mergeDefaultHeader = requestOptionsArgs.mergeDefaultHeader; } if (requestOptionsArgs.bgProcessOption !== undefined) { bgProcessOption = requestOptionsArgs.bgProcessOption; } if (requestOptionsArgs.requestOptionsArgs !== undefined) { requestOptionsArgs = requestOptionsArgs.requestOptionsArgs; } else { requestOptionsArgs = null; } } } else { requestOptionsArgs = null; } if (requestOptionsArgs === null || typeof requestOptionsArgs === 'undefined') { requestOptionsArgs = new RequestOptions(); } url = this.getAppendBaseURL(url); if (url !== null && typeof url === 'string') { if (requestOptionsArgs !== null && typeof requestOptionsArgs !== 'undefined') { requestOptionsArgs.url = url; } } requestOptionsArgs.method = GET; let /** @type {?} */ resultProm = null; if (mergeDefaultHeader) { let /** @type {?} */ headers = new Headers(); let /** @type {?} */ jsonHeader = JSON.parse(JSON.stringify(this.defaultHeaders.toJSON())); for (let /** @type {?} */ key in jsonHeader) { headers.append(key, jsonHeader[key]); } if (requestOptionsArgs.headers !== null && requestOptionsArgs.headers !== undefined) { jsonHeader = JSON.parse(JSON.stringify(requestOptionsArgs.headers.toJSON())); for (let /** @type {?} */ key in jsonHeader) { headers.append(key, jsonHeader[key]); } } requestOptionsArgs.headers = headers; } //! change PROCESS_OPTIONS name to url if (bgProcessOption !== undefined && bgProcessOption !== null) { bgProcessOption = JSON.parse(JSON.stringify(bgProcessOption)); bgProcessOption.type = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.type)); if (bgProcessOption.name === undefined) { bgProcessOption.name = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.name)); } } else { bgProcessOption = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS)); } if (this.bgProcessMgr != null && typeof this.bgProcessMgr !== 'undefined') { resultProm = this.bgProcessMgr.execute(() => { let /** @type {?} */ prom = this.http.get(url, requestOptionsArgs).toPromise(); return prom; }, bgProcessOption); } if (resultProm === null || typeof resultProm === 'undefined') { resultProm = Promise.resolve(null); } // wrapp prom return resultProm; } /** * @param {?} url * @param {?} body * @param {?} requestOptionsArgs * @return {?} */ post(url, body, requestOptionsArgs) { let /** @type {?} */ httpProm = this.postWithHttpInfo(url, body, requestOptionsArgs); return this.getResponseBodyHttpPromise(httpProm); } /** * @param {?} url * @param {?} body * @param {?} requestOptionsArgs * @return {?} */ postWithHttpInfo(url, body, requestOptionsArgs) { if (this.http === null || typeof this.http === 'undefined') { return null; } let /** @type {?} */ mergeDefaultHeader = true; let /** @type {?} */ bgProcessOption = null; if (typeof requestOptionsArgs === 'boolean') { mergeDefaultHeader = requestOptionsArgs; requestOptionsArgs = null; } else if (typeof requestOptionsArgs === 'object') { if (requestOptionsArgs.constructor.name !== "RequestOptions") { if (requestOptionsArgs.mergeDefaultHeader !== undefined && typeof requestOptionsArgs.mergeDefaultHeader === "boolean") { mergeDefaultHeader = requestOptionsArgs.mergeDefaultHeader; } if (requestOptionsArgs.bgProcessOption !== undefined) { bgProcessOption = requestOptionsArgs.bgProcessOption; } if (requestOptionsArgs.requestOptionsArgs !== undefined) { requestOptionsArgs = requestOptionsArgs.requestOptionsArgs; } else { requestOptionsArgs = null; } } } else { requestOptionsArgs = null; } if (requestOptionsArgs === null || typeof requestOptionsArgs === 'undefined') { requestOptionsArgs = new RequestOptions(); } url = this.getAppendBaseURL(url); if (url !== null && typeof url === 'string') { if (requestOptionsArgs !== null && typeof requestOptionsArgs !== 'undefined') { requestOptionsArgs.url = url; } } requestOptionsArgs.method = POST; let /** @type {?} */ resultProm = Promise.resolve(null); if (mergeDefaultHeader) { let /** @type {?} */ headers = new Headers(); let /** @type {?} */ jsonHeader = JSON.parse(JSON.stringify(this.defaultHeaders.toJSON())); for (let /** @type {?} */ key in jsonHeader) { headers.append(key, jsonHeader[key]); } if (requestOptionsArgs.headers !== null && requestOptionsArgs.headers !== undefined) { jsonHeader = JSON.parse(JSON.stringify(requestOptionsArgs.headers.toJSON())); for (let /** @type {?} */ key in jsonHeader) { if (headers.has(key)) { // continue cause key in jsonHeader has more headers continue; } headers.append(key, jsonHeader[key]); } } requestOptionsArgs.headers = headers; } //! change PROCESS_OPTIONS name to url if (bgProcessOption !== undefined && bgProcessOption !== null) { bgProcessOption = JSON.parse(JSON.stringify(bgProcessOption)); bgProcessOption.type = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.type)); if (bgProcessOption.name === undefined) { bgProcessOption.name = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.name)); } } else { bgProcessOption = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS)); } if (this.bgProcessMgr != null && typeof this.bgProcessMgr !== 'undefined') { resultProm = this.bgProcessMgr.execute(() => { let /** @type {?} */ prom = this.http.post(url, body, requestOptionsArgs).toPromise(); return prom; }, bgProcessOption); } if (resultProm === null || typeof resultProm === 'undefined') { resultProm = Promise.resolve(null); } // wrapp prom return resultProm; } /** * @param {?} url * @param {?} body * @param {?} requestOptionsArgs * @return {?} */ put(url, body, requestOptionsArgs) { let /** @type {?} */ httpProm = this.putWithHttpInfo(url, body, requestOptionsArgs); return this.getResponseBodyHttpPromise(httpProm); } /** * @param {?} url * @param {?} body * @param {?} requestOptionsArgs * @return {?} */ putWithHttpInfo(url, body, requestOptionsArgs) { if (this.http === null || typeof this.http === 'undefined') { return null; } let /** @type {?} */ mergeDefaultHeader = true; let /** @type {?} */ bgProcessOption = null; if (typeof requestOptionsArgs === 'boolean') { mergeDefaultHeader = requestOptionsArgs; requestOptionsArgs = null; } else if (typeof requestOptionsArgs === 'object') { if (requestOptionsArgs.constructor.name !== "RequestOptions") { if (requestOptionsArgs.mergeDefaultHeader !== undefined && typeof requestOptionsArgs.mergeDefaultHeader === "boolean") { mergeDefaultHeader = requestOptionsArgs.mergeDefaultHeader; } if (requestOptionsArgs.bgProcessOption !== undefined) { bgProcessOption = requestOptionsArgs.bgProcessOption; } if (requestOptionsArgs.requestOptionsArgs !== undefined) { requestOptionsArgs = requestOptionsArgs.requestOptionsArgs; } else { requestOptionsArgs = null; } } } else { requestOptionsArgs = null; } if (requestOptionsArgs === null || typeof requestOptionsArgs === 'undefined') { requestOptionsArgs = new RequestOptions(); } url = this.getAppendBaseURL(url); if (url !== null && typeof url === 'string') { if (requestOptionsArgs !== null && typeof requestOptionsArgs !== 'undefined') { requestOptionsArgs.url = url; } } requestOptionsArgs.method = PUT; let /** @type {?} */ resultProm = Promise.resolve(null); if (mergeDefaultHeader) { let /** @type {?} */ headers = new Headers(); let /** @type {?} */ jsonHeader = JSON.parse(JSON.stringify(this.defaultHeaders.toJSON())); for (let /** @type {?} */ key in jsonHeader) { if (!headers.has(key)) { headers.append(key, jsonHeader[key]); } // headers.append(key, jsonHeader[key]); } if (requestOptionsArgs.headers !== null && requestOptionsArgs.headers !== undefined) { jsonHeader = JSON.parse(JSON.stringify(requestOptionsArgs.headers.toJSON())); for (let /** @type {?} */ key in jsonHeader) { if (!headers.has(key)) { headers.append(key, jsonHeader[key]); } // headers.append(key, jsonHeader[key]); } } requestOptionsArgs.headers = headers; } //! change PROCESS_OPTIONS name to url if (bgProcessOption !== undefined && bgProcessOption !== null) { bgProcessOption = JSON.parse(JSON.stringify(bgProcessOption)); bgProcessOption.type = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.type)); if (bgProcessOption.name === undefined) { bgProcessOption.name = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.name)); } } else { bgProcessOption = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS)); } if (this.bgProcessMgr != null && typeof this.bgProcessMgr !== 'undefined') { resultProm = this.bgProcessMgr.execute(() => { let /** @type {?} */ prom = this.http.put(url, body, requestOptionsArgs).toPromise(); return prom; }, bgProcessOption); } if (resultProm === null || typeof resultProm === 'undefined') { resultProm = Promise.resolve(null); } // wrapp prom return resultProm; } /** * @param {?} url * @param {?} requestOptionsArgs * @return {?} */ delete(url, requestOptionsArgs) { let /** @type {?} */ httpProm = this.deleteWithHttpInfo(url, requestOptionsArgs); return this.getResponseBodyHttpPromise(httpProm); } /** * @param {?} url * @param {?} requestOptionsArgs * @return {?} */ deleteWithHttpInfo(url, requestOptionsArgs) { if (this.http === null || typeof this.http === 'undefined') { return null; } let /** @type {?} */ mergeDefaultHeader = true; let /** @type {?} */ bgProcessOption = null; if (typeof requestOptionsArgs === 'boolean') { mergeDefaultHeader = requestOptionsArgs; requestOptionsArgs = null; } else if (typeof requestOptionsArgs === 'object') { if (requestOptionsArgs.constructor.name !== "RequestOptions") { if (requestOptionsArgs.mergeDefaultHeader !== undefined && typeof requestOptionsArgs.mergeDefaultHeader === "boolean") { mergeDefaultHeader = requestOptionsArgs.mergeDefaultHeader; } if (requestOptionsArgs.bgProcessOption !== undefined) { bgProcessOption = requestOptionsArgs.bgProcessOption; } if (requestOptionsArgs.requestOptionsArgs !== undefined) { requestOptionsArgs = requestOptionsArgs.requestOptionsArgs; } else { requestOptionsArgs = null; } } } else { requestOptionsArgs = null; } if (requestOptionsArgs === null || typeof requestOptionsArgs === 'undefined') { requestOptionsArgs = new RequestOptions(); } url = this.getAppendBaseURL(url); if (url !== null && typeof url === 'string') { if (requestOptionsArgs !== null && typeof requestOptionsArgs !== 'undefined') { requestOptionsArgs.url = url; } } requestOptionsArgs.method = DELETE; let /** @type {?} */ resultProm = Promise.resolve(null); if (mergeDefaultHeader) { let /** @type {?} */ headers = new Headers(); let /** @type {?} */ jsonHeader = JSON.parse(JSON.stringify(this.defaultHeaders.toJSON())); for (let /** @type {?} */ key in jsonHeader) { headers.append(key, jsonHeader[key]); } if (requestOptionsArgs.headers !== null && requestOptionsArgs.headers !== undefined) { jsonHeader = JSON.parse(JSON.stringify(requestOptionsArgs.headers.toJSON())); for (let /** @type {?} */ key in jsonHeader) { headers.append(key, jsonHeader[key]); } } requestOptionsArgs.headers = headers; } //! change PROCESS_OPTIONS name to url if (bgProcessOption !== undefined && bgProcessOption !== null) { bgProcessOption = JSON.parse(JSON.stringify(bgProcessOption)); bgProcessOption.type = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.type)); if (bgProcessOption.name === undefined) { bgProcessOption.name = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.name)); } } else { bgProcessOption = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS)); } if (this.bgProcessMgr != null && typeof this.bgProcessMgr !== 'undefined') { resultProm = this.bgProcessMgr.execute(() => { let /** @type {?} */ prom = this.http.delete(url, requestOptionsArgs).toPromise(); return prom; }, bgProcessOption); } if (resultProm === null || typeof resultProm === 'undefined') { resultProm = Promise.resolve(null); } // wrapp prom return resultProm; } /** * @param {?} url * @param {?} body * @param {?} requestOptionsArgs * @return {?} */ patch(url, body, requestOptionsArgs) { let /** @type {?} */ httpProm = this.patchWithHttpInfo(url, body, requestOptionsArgs); return this.getResponseBodyHttpPromise(httpProm); } /** * @param {?} url * @param {?} body * @param {?} requestOptionsArgs * @return {?} */ patchWithHttpInfo(url, body, requestOptionsArgs) { if (this.http === null || typeof this.http === 'undefined') { return null; } let /** @type {?} */ mergeDefaultHeader = true; let /** @type {?} */ bgProcessOption = null; if (typeof requestOptionsArgs === 'boolean') { mergeDefaultHeader = requestOptionsArgs; requestOptionsArgs = null; } else if (typeof requestOptionsArgs === 'object') { if (requestOptionsArgs.constructor.name !== "RequestOptions") { if (requestOptionsArgs.mergeDefaultHeader !== undefined && typeof requestOptionsArgs.mergeDefaultHeader === "boolean") { mergeDefaultHeader = requestOptionsArgs.mergeDefaultHeader; } if (requestOptionsArgs.bgProcessOption !== undefined) { bgProcessOption = requestOptionsArgs.bgProcessOption; } if (requestOptionsArgs.requestOptionsArgs !== undefined) { requestOptionsArgs = requestOptionsArgs.requestOptionsArgs; } else { requestOptionsArgs = null; } } } else { requestOptionsArgs = null; } if (requestOptionsArgs === null || typeof requestOptionsArgs === 'undefined') { requestOptionsArgs = new RequestOptions(); } url = this.getAppendBaseURL(url); if (url !== null && typeof url === 'string') { if (requestOptionsArgs !== null && typeof requestOptionsArgs !== 'undefined') { requestOptionsArgs.url = url; } } requestOptionsArgs.method = PATCH; let /** @type {?} */ resultProm = Promise.resolve(null); if (mergeDefaultHeader) { let /** @type {?} */ headers = new Headers(); let /** @type {?} */ jsonHeader = JSON.parse(JSON.stringify(this.defaultHeaders.toJSON())); for (let /** @type {?} */ key in jsonHeader) { if (headers.has(key)) { // continue cause key in option has more priority continue; } headers.append(key, jsonHeader[key]); } if (requestOptionsArgs.headers !== null && requestOptionsArgs.headers !== undefined) { jsonHeader = JSON.parse(JSON.stringify(requestOptionsArgs.headers.toJSON())); for (let /** @type {?} */ key in jsonHeader) { if (headers.has(key)) { // continue cause key in option has more priority continue; } headers.append(key, jsonHeader[key]); } } requestOptionsArgs.headers = headers; } //! change PROCESS_OPTIONS name to url if (bgProcessOption !== undefined && bgProcessOption !== null) { bgProcessOption = JSON.parse(JSON.stringify(bgProcessOption)); bgProcessOption.type = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.type)); if (bgProcessOption.name === undefined) { bgProcessOption.name = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.name)); } } else { bgProcessOption = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS)); } if (this.bgProcessMgr != null && typeof this.bgProcessMgr !== 'undefined') { resultProm = this.bgProcessMgr.execute(() => { let /** @type {?} */ prom = this.http.patch(url, body, requestOptionsArgs).toPromise(); return prom; }, bgProcessOption); } if (resultProm === null || typeof resultProm === 'undefined') { resultProm = Promise.resolve(null); } // wrapp prom return resultProm; } /** * @param {?} url * @param {?} requestOptionsArgs * @return {?} */ head(url, requestOptionsArgs) { let /** @type {?} */ httpProm = this.headWithHttpInfo(url, requestOptionsArgs); return this.getResponseBodyHttpPromise(httpProm); } /** * @param {?} url * @param {?} requestOptionsArgs * @return {?} */ headWithHttpInfo(url, requestOptionsArgs) { if (this.http === null || typeof this.http === 'undefined') { return null; } let /** @type {?} */ mergeDefaultHeader = true; let /** @type {?} */ bgProcessOption = null; if (typeof requestOptionsArgs === 'boolean') { mergeDefaultHeader = requestOptionsArgs; requestOptionsArgs = null; } else if (typeof requestOptionsArgs === 'object') { if (requestOptionsArgs.constructor.name !== "RequestOptions") { if (requestOptionsArgs.mergeDefaultHeader !== undefined && typeof requestOptionsArgs.mergeDefaultHeader === "boolean") { mergeDefaultHeader = requestOptionsArgs.mergeDefaultHeader; } if (requestOptionsArgs.bgProcessOption !== undefined) { bgProcessOption = requestOptionsArgs.bgProcessOption; } if (requestOptionsArgs.requestOptionsArgs !== undefined) { requestOptionsArgs = requestOptionsArgs.requestOptionsArgs; } else { requestOptionsArgs = null; } } } else { requestOptionsArgs = null; } if (requestOptionsArgs === null || typeof requestOptionsArgs === 'undefined') { requestOptionsArgs = new RequestOptions(); } url = this.getAppendBaseURL(url); if (url !== null && typeof url === 'string') { if (requestOptionsArgs !== null && typeof requestOptionsArgs !== 'undefined') { requestOptionsArgs.url = url; } } requestOptionsArgs.method = HEAD; let /** @type {?} */ resultProm = Promise.resolve(null); if (mergeDefaultHeader) { let /** @type {?} */ headers = new Headers(); let /** @type {?} */ jsonHeader = JSON.parse(JSON.stringify(this.defaultHeaders.toJSON())); for (let /** @type {?} */ key in jsonHeader) { headers.append(key, jsonHeader[key]); } if (requestOptionsArgs.headers !== null && requestOptionsArgs.headers !== undefined) { jsonHeader = JSON.parse(JSON.stringify(requestOptionsArgs.headers.toJSON())); for (let /** @type {?} */ key in jsonHeader) { headers.append(key, jsonHeader[key]); } } requestOptionsArgs.headers = headers; } //! change PROCESS_OPTIONS name to url if (bgProcessOption !== undefined && bgProcessOption !== null) { bgProcessOption = JSON.parse(JSON.stringify(bgProcessOption)); bgProcessOption.type = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.type)); if (bgProcessOption.name === undefined) { bgProcessOption.name = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.name)); } } else { bgProcessOption = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS)); } if (this.bgProcessMgr != null && typeof this.bgProcessMgr !== 'undefined') { resultProm = this.bgProcessMgr.execute(() => { let /** @type {?} */ prom = this.http.head(url, requestOptionsArgs).toPromise(); return prom; }, bgProcessOption); } if (resultProm === null || typeof resultProm === 'undefined') { resultProm = Promise.resolve(null); } // wrapp prom return resultProm; } /** * @param {?} url * @param {?} requestOptionsArgs * @return {?} */ options(url, requestOptionsArgs) { let /** @type {?} */ httpProm = this.optionsWithHttpInfo(url, requestOptionsArgs); return this.getResponseBodyHttpPromise(httpProm); } /** * @param {?} url * @param {?} requestOptionsArgs * @return {?} */ optionsWithHttpInfo(url, requestOptionsArgs) { if (this.http === null || typeof this.http === 'undefined') { return null; } let /** @type {?} */ mergeDefaultHeader = true; let /** @type {?} */ bgProcessOption = null; if (typeof requestOptionsArgs === 'boolean') { mergeDefaultHeader = requestOptionsArgs; requestOptionsArgs = null; } else if (typeof requestOptionsArgs === 'object') { if (requestOptionsArgs.constructor.name !== "RequestOptions") { if (requestOptionsArgs.mergeDefaultHeader !== undefined && typeof requestOptionsArgs.mergeDefaultHeader === "boolean") { mergeDefaultHeader = requestOptionsArgs.mergeDefaultHeader; } if (requestOptionsArgs.bgProcessOption !== undefined) { bgProcessOption = requestOptionsArgs.bgProcessOption; } if (requestOptionsArgs.requestOptionsArgs !== undefined) { requestOptionsArgs = requestOptionsArgs.requestOptionsArgs; } else { requestOptionsArgs = null; } } } else { requestOptionsArgs = null; } if (requestOptionsArgs === null || typeof requestOptionsArgs === 'undefined') { requestOptionsArgs = new RequestOptions(); } url = this.getAppendBaseURL(url); if (url !== null && typeof url === 'string') { if (requestOptionsArgs !== null && typeof requestOptionsArgs !== 'undefined') { requestOptionsArgs.url = url; } } requestOptionsArgs.method = OPTIONS; let /** @type {?} */ resultProm = Promise.resolve(null); if (mergeDefaultHeader) { let /** @type {?} */ headers = new Headers(); let /** @type {?} */ jsonHeader = JSON.parse(JSON.stringify(this.defaultHeaders.toJSON())); for (let /** @type {?} */ key in jsonHeader) { headers.append(key, jsonHeader[key]); } if (requestOptionsArgs.headers !== null && requestOptionsArgs.headers !== undefined) { jsonHeader = JSON.parse(JSON.stringify(requestOptionsArgs.headers.toJSON())); for (let /** @type {?} */ key in jsonHeader) { headers.append(key, jsonHeader[key]); } } requestOptionsArgs.headers = headers; } //! change PROCESS_OPTIONS name to url if (bgProcessOption !== undefined && bgProcessOption !== null) { bgProcessOption = JSON.parse(JSON.stringify(bgProcessOption)); bgProcessOption.type = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.type)); if (bgProcessOption.name === undefined) { bgProcessOption.name = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.name)); } } else { bgProcessOption = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS)); } if (this.bgProcessMgr != null && typeof this.bgProcessMgr !== 'undefined') { resultProm = this.bgProcessMgr.execute(() => { let /** @type {?} */ prom = this.http.options(url, requestOptionsArgs).toPromise(); return prom; }, bgProcessOption); } if (resultProm === null || typeof resultProm === 'undefined') { resultProm = Promise.resolve(null); } // wrapp prom return resultProm; } /** * @param {?} url * @param {?} requestOptionsArgs * @return {?} */ request(url, requestOptionsArgs) { let /** @type {?} */ httpProm = this.requestWithHttpInfo(url, requestOptionsArgs); return this.getResponseBodyHttpPromise(httpProm); } /** * @param {?} url * @param {?} requestOptionsArgs * @return {?} */ requestWithHttpInfo(url, requestOptionsArgs) { if (this.http === null || typeof this.http === 'undefined') { return null; } let /** @type {?} */ mergeDefaultHeader = true; let /** @type {?} */ bgProcessOption = null; if (typeof requestOptionsArgs === 'boolean') { mergeDefaultHeader = requestOptionsArgs; requestOptionsArgs = null; } else if (typeof requestOptionsArgs === 'object') { if (requestOptionsArgs.constructor.name !== "RequestOptions") { if (requestOptionsArgs.mergeDefaultHeader !== undefined && typeof requestOptionsArgs.mergeDefaultHeader === "boolean") { mergeDefaultHeader = requestOptionsArgs.mergeDefaultHeader; } if (requestOptionsArgs.bgProcessOption !== undefined) { bgProcessOption = requestOptionsArgs.bgProcessOption; } if (requestOptionsArgs.requestOptionsArgs !== undefined) { requestOptionsArgs = requestOptionsArgs.requestOptionsArgs; } else { requestOptionsArgs = null; } } } else { requestOptionsArgs = null; } if (requestOptionsArgs === null || typeof requestOptionsArgs === 'undefined') { requestOptionsArgs = new RequestOptions(); } if (url !== null && typeof url === 'string') { if (requestOptionsArgs !== null && typeof requestOptionsArgs !== 'undefined') { requestOptionsArgs.url = url; } } let /** @type {?} */ resultProm = Promise.resolve(null); if (mergeDefaultHeader) { let /** @type {?} */ headers = new Headers(); let /** @type {?} */ jsonHeader = JSON.parse(JSON.stringify(this.defaultHeaders.toJSON())); for (let /** @type {?} */ key in jsonHeader) { headers.append(key, jsonHeader[key]); } if (requestOptionsArgs.headers !== null && requestOptionsArgs.headers !== undefined) { jsonHeader = JSON.parse(JSON.stringify(requestOptionsArgs.headers.toJSON())); for (let /** @type {?} */ key in jsonHeader) { headers.append(key, jsonHeader[key]); } } requestOptionsArgs.headers = headers; } //! change PROCESS_OPTIONS name to url if (bgProcessOption !== undefined && bgProcessOption !== null) { bgProcessOption = JSON.parse(JSON.stringify(bgProcessOption)); bgProcessOption.type = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.type)); if (bgProcessOption.name === undefined) { bgProcessOption.name = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.name)); } } else { bgProcessOption = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS)); } if (this.bgProcessMgr != null && typeof this.bgProcessMgr !== 'undefined') { resultProm = this.bgProcessMgr.execute(() => { let /** @type {?} */ prom = this.http.request(url, requestOptionsArgs).toPromise(); return prom; }, bgProcessOption); } if (resultProm === null || typeof resultProm === 'undefined') { resultProm = Promise.resolve(null); } // wrapp prom return resultProm; } /** * @param {?=} option * @return {?} */ getRunningProcessesCount(option) { //! change PROCESS_OPTIONS name to url let /** @type {?} */ bgProcessOption = null; if (bgProcessOption !== undefined && bgProcessOption !== null) { bgProcessOption = JSON.parse(JSON.stringify(bgProcessOption)); bgProcessOption.type = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.type)); if (bgProcessOption.name === undefined) { bgProcessOption.name = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.name)); } } else { bgProcessOption = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS)); } if (this.bgProcessMgr != null && typeof this.bgProcessMgr !== 'undefined') { this.bgProcessMgr.getRunningProcessesCount(bgProcessOption.type, null); } return 0; } /** * @param {?=} option * @return {?} */ getRunningProcesses(option) { //! change PROCESS_OPTIONS name to url let /** @type {?} */ bgProcessOption = null; if (bgProcessOption !== undefined && bgProcessOption !== null) { bgProcessOption = JSON.parse(JSON.stringify(bgProcessOption)); bgProcessOption.type = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.type)); if (bgProcessOption.name === undefined) { bgProcessOption.name = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS.name)); } } else { bgProcessOption = JSON.parse(JSON.stringify(this.PROCESS_OPTIONS)); } if (this.bgProcessMgr != null && typeof this.bgProcessMgr !== 'undefined') { this.bgProcessMgr.getRunningProcesses(bgProcessOption.type, null); } return []; } /** * @return {?} */ getConnectionQuality() { if (this.phloxAppInfo !== null && typeof this.phloxAppInfo !== 'undefined') { let /** @type {?} */ setting = this.phloxAppInfo.settings; if (setting !== null && typeof setting !== 'undefined') { let /** @type {?} */ cTimeout = setting.CONNECTION_TIMEOUT; // as millisec if (cTimeout === null || typeof cTimeout === 'undefined') { cTimeout = 0; } else if (cTimeout < 0) { cTimeout = 0; } if (cTimeout === 0) { return 0; } let /** @type {?} */ maxDu = this.getMaxDurationMillisec(); if (maxDu === null) { //! check from google maxDu = 0; } let /** @type {?} */ quality = (cTimeout - maxDu) / cTimeout * 100; return quality; } } return 0; } /** * @param {?} url * @return {?} */ addBaseURLs(url) { if (this.baseURLs === undefined || this.baseURLs === null) { this.baseURLs = []; } this.baseURLs.push(url); } /** * @param {?} urls * @return {?} */ setBaseURLs(urls) { if (typeof urls === 'string') { this.baseURLs = []; this.baseURLs.push(urls); } else { this.baseURLs = urls; } } /** * @return {?} */ resetBaseURLs() { this.baseURLs = []; } /** * @param {?} key * @param {?} value * @return {?} */ setDefaultHeader(key, value) { if (key !== null && typeof key !== 'undefined') { if (this.defaultHeaders !== null && typeof this.defaultHeaders !== 'undefined') { if (!this.defaultHeaders.has(key)) { this.defaultHeaders.append(key, value); } else { this.defaultHeaders.set(key, value); } } } } /** * @param {?} key * @return {?} */ removeDefaultHeader(key) { if (key !== null && typeof key !== 'undefined') { if (this.defaultHeaders.has(key)) { this.defaultHeaders.delete(key); } } } /** * @return {?} */ resetDefaultHeaders() { this.defaultHeaders = new Headers(); } /** * @param {?} key * @param {?} value * @return {?} */ setSearch(key, value) { if (key !== null && typeof key !== 'undefined') { this.search[key] = value; } } /** * @param {?} key * @return {?} */ removeSearch(key) { if (key !== null && typeof key !== 'undefined') { delete this.search[key]; } } /** * @return {?} */ resetSearch() { this.search = {}; } /** * @param {?} key * @param {?} value * @return {?} */ setParam(key, value) { if (key !== null && typeof key !== 'undefined') { this.params[key] = value; } } /** * @param {?} key * @return {?} */ removeParam(key) { delete this.params[key]; } /** * @return {?} */ resetParams() { this.params = {}; } /** * @return {?} */ getName() { return this.name; } /** * @param {?} name * @return {?} */ setName(name) { this.name = name; this.PROCESS_OPTIONS.name = name; } /** * @template R * @param {?} type * @return {?} */ createResource(type) { return new type(this); } } function DefaultConnectionManager_tsickle_Closure_declarations() { /** @type {?} */ DefaultConnectionManager.prototype.PROCESS_OPTIONS; /** @type {?} */ DefaultConnectionManager.prototype.bgProcessMgr; /** @type {?} */ DefaultConnectionManager.prototype.http; /** @type {?} */ DefaultConnectionManager.prototype.phloxAppInfo; /** @type {?} */ DefaultConnectionManager.prototype.baseURLs; /** @type {?} */ DefaultConnectionManager.prototype.defaultHeaders; /** @type {?} */ DefaultConnectionManager.prototype.search; /** @type {?} */ DefaultConnectionManager.prototype.params; /** @type {?} */ DefaultConnectionManager.prototype.mode; /** @type {?} */ DefaultConnectionManager.prototype.name; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdENvbm5lY3Rpb25NYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvc2hhcmUvRGVmYXVsdENvbm5lY3Rpb25NYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQVEsUUFBUSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBTzVGLHVCQUFNLEdBQUcsR0FBVyxLQUFLLENBQUM7QUFDMUIsdUJBQU0sSUFBSSxHQUFXLE1BQU0sQ0FBQztBQUM1Qix1QkFBTSxHQUFHLEdBQVcsS0FBSyxDQUFDO0FBQzFCLHVCQUFNLE1BQU0sR0FBVyxRQUFRLENBQUM7QUFDaEMsdUJBQU0sS0FBSyxHQUFXLE9BQU8sQ0FBQztBQUM5Qix1QkFBTSxJQUFJLEdBQVcsTUFBTSxDQUFDO0FBQzVCLHVCQUFNLE9BQU8sR0FBVyxTQUFTLENBQUM7QUFDbEMsdUJBQU0sV0FBVyxHQUFXLGFBQWEsQ0FBQztBQUMxQyx1QkFBTSxJQUFJLEdBQVcsTUFBTSxDQUFDO0FBQzVCLHVCQUFNLE9BQU8sR0FBVyxTQUFTLENBQUM7QUFFbEMsTUFBTTs7Ozs7O0lBYUosWUFBWSxRQUEyQixFQUFFLElBQVUsRUFBRSxTQUFvQzs7UUFFdkYsSUFBSSxDQUFDLElBQUksR0FBRztZQUNWLElBQUksRUFBRSxXQUFXO1NBQ2xCLENBQUM7UUFFRixFQUFFLENBQUMsQ0FBQyxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzlCO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUMxQjtRQUVELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztTQUNwQjtRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztLQUNsQjs7OztJQUVPLHNCQUFzQjtRQUM1QixxQkFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFM0MsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDYjtR