diff options
Diffstat (limited to 'webapp/client')
-rw-r--r-- | webapp/client/websocket_client.jsx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/webapp/client/websocket_client.jsx b/webapp/client/websocket_client.jsx index 760c62b59..35be5c3df 100644 --- a/webapp/client/websocket_client.jsx +++ b/webapp/client/websocket_client.jsx @@ -8,6 +8,7 @@ const MAX_WEBSOCKET_RETRY_TIME = 300000; // 5 mins export default class WebSocketClient { constructor() { this.conn = null; + this.connectionUrl = null; this.sequence = 1; this.connectFailCount = 0; this.eventCallback = null; @@ -18,16 +19,22 @@ export default class WebSocketClient { this.closeCallback = null; } - initialize(connectionUrl, token) { + initialize(connectionUrl = this.connectionUrl, token) { if (this.conn) { return; } + if (connectionUrl == null) { + console.log('websocket must have connection url'); //eslint-disable-line no-console + return; + } + if (this.connectFailCount === 0) { console.log('websocket connecting to ' + connectionUrl); //eslint-disable-line no-console } this.conn = new WebSocket(connectionUrl); + this.connectionUrl = connectionUrl; this.conn.onopen = () => { if (token) { @@ -150,7 +157,7 @@ export default class WebSocketClient { if (this.conn && this.conn.readyState === WebSocket.OPEN) { this.conn.send(JSON.stringify(msg)); - } else if (!this.conn || this.conn.readyState === WebSocket.Closed) { + } else if (!this.conn || this.conn.readyState === WebSocket.CLOSED) { this.conn = null; this.initialize(); } |