diff options
Diffstat (limited to 'webapp/src/app/common/xdsagent.service.ts')
-rw-r--r-- | webapp/src/app/common/xdsagent.service.ts | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/webapp/src/app/common/xdsagent.service.ts b/webapp/src/app/common/xdsagent.service.ts index 4d9aadc..86f0336 100644 --- a/webapp/src/app/common/xdsagent.service.ts +++ b/webapp/src/app/common/xdsagent.service.ts @@ -59,20 +59,12 @@ export class XDSAgentService { this.Status$ = this.statusSubject.asObservable(); this.apikey = DEFAULT_API_KEY; // FIXME Add dynamic allocated key - this._status.baseURL = 'http://localhost:' + DEFAULT_PORT; - this.baseRestUrl = this._status.baseURL + '/api/' + API_VERSION; - let re = this._window.location.origin.match(/http[s]?:\/\/([^\/]*)[\/]?/); - if (re === null || re.length < 2) { - console.error('ERROR: cannot determine Websocket url'); - } else { - this.wsUrl = 'ws://' + re[1]; - } + this._initURLs('http://localhost:' + DEFAULT_PORT); } connect(retry: number, url?: string): Observable<IAgentStatus> { if (url) { - this._status.baseURL = url; - this.baseRestUrl = this._status.baseURL + '/api/' + API_VERSION; + this._initURLs(url); } //FIXME [XDS-Agent]: not implemented yet, set always as connected //this._status.connected = false; @@ -103,6 +95,18 @@ export class XDSAgentService { }); } + private _initURLs(url: string) { + this._status.baseURL = url; + this.baseRestUrl = this._status.baseURL + '/api/' + API_VERSION; + let re = this._status.baseURL.match(/http[s]?:\/\/([^\/]*)[\/]?/); + if (re === null || re.length < 2) { + this.wsUrl = ''; + console.error('ERROR: cannot determine Websocket url'); + return; + } + this.wsUrl = 'ws://' + re[1]; + } + private _WSState(sts: boolean) { this._status.WS_connected = sts; this.statusSubject.next(Object.assign({}, this._status)); |