From 5ddf14b172c9b68d81dad4055ad9d83cd341b241 Mon Sep 17 00:00:00 2001 From: Robert G Date: Sun, 2 Apr 2017 20:07:03 +0200 Subject: [PATCH] Close connection in response to server close event --- src/lib/DrawrClient.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/lib/DrawrClient.js b/src/lib/DrawrClient.js index f3f0fd0..816ae83 100644 --- a/src/lib/DrawrClient.js +++ b/src/lib/DrawrClient.js @@ -29,6 +29,17 @@ function onWebSocketOpen() { console.log('connected to websocket server'); } +/** + * emit event when websocket connection is closed by the server + * @private + * @returns {void} + */ +function onWebSocketClose(event) { + console.log('websocket server sent close:', event.reason); + this._wsClient.close(1000, 'client closed'); + // TODO: clean up +} + /** * handle wedsocket messages from server * @private @@ -102,6 +113,7 @@ export default class DrawrClient { this._wsClient.onopen = onWebSocketOpen.bind(this); this._wsClient.onmessage = onWebSocketMessage.bind(this); this._wsClient.onerror = onWebSocketError.bind(this); + this._wsClient.onclose = onWebSocketClose.bind(this); resolve(); } catch(e) { reject(e);