com.phloxui
Version:
PhloxUI Ng2+ Framework
1,250 lines (1,249 loc) • 154 kB
JavaScript
/**
* @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