diff options
author | Javan Makhmali <javan@javan.us> | 2015-06-27 13:13:44 -0400 |
---|---|---|
committer | Javan Makhmali <javan@javan.us> | 2015-06-27 16:17:06 -0400 |
commit | d2c613cd8f422b9cf2dd8a765681066d6045036a (patch) | |
tree | 7d77b5abd9fe3645e423851322b1b4bebc04da53 /lib | |
parent | 16849a7e68ed7bd50e47bb429a30d6dcedf1979b (diff) | |
download | rails-d2c613cd8f422b9cf2dd8a765681066d6045036a.tar.gz rails-d2c613cd8f422b9cf2dd8a765681066d6045036a.tar.bz2 rails-d2c613cd8f422b9cf2dd8a765681066d6045036a.zip |
Wait for connection to close before reopening it
Diffstat (limited to 'lib')
-rw-r--r-- | lib/assets/javascripts/cable/connection.js.coffee | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/assets/javascripts/cable/connection.js.coffee b/lib/assets/javascripts/cable/connection.js.coffee index cd9539a6aa..98af9ad8ab 100644 --- a/lib/assets/javascripts/cable/connection.js.coffee +++ b/lib/assets/javascripts/cable/connection.js.coffee @@ -12,20 +12,23 @@ class Cable.Connection else false - open: -> + open: => @websocket = new WebSocket(@consumer.url) @websocket.onmessage = @onMessage @websocket.onopen = @onOpen @websocket.onclose = @onClose @websocket.onerror = @onError - @websocket close: -> @websocket.close() unless @isClosed() reopen: -> - @close() - @open() + if @isClosed() + @open() + else + @websocket.onclose = @open + @websocket.onerror = @open + @websocket.close() isOpen: -> @websocket.readyState is WebSocket.OPEN |