diff options
Diffstat (limited to 'lib/action_cable/connection/base.rb')
-rw-r--r-- | lib/action_cable/connection/base.rb | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/lib/action_cable/connection/base.rb b/lib/action_cable/connection/base.rb index c36b7bbc1a..89d0844031 100644 --- a/lib/action_cable/connection/base.rb +++ b/lib/action_cable/connection/base.rb @@ -34,8 +34,8 @@ module ActionCable @websocket = Faye::WebSocket.new(@env) @websocket.on(:open) do |event| - broadcast_ping_timestamp - @ping_timer = EventMachine.add_periodic_timer(PING_INTERVAL) { broadcast_ping_timestamp } + transmit_ping_timestamp + @ping_timer = EventMachine.add_periodic_timer(PING_INTERVAL) { transmit_ping_timestamp } worker_pool.async.invoke(self, :initialize_connection) end @@ -87,7 +87,7 @@ module ActionCable end end - def broadcast(data) + def transmit(data) @websocket.send data end @@ -109,6 +109,14 @@ module ActionCable end protected + def request + @request ||= ActionDispatch::Request.new(Rails.application.env_config.merge(env)) + end + + def cookies + request.cookie_jar + end + def initialize_connection server.add_connection(self) @@ -127,8 +135,8 @@ module ActionCable disconnect if respond_to?(:disconnect) end - def broadcast_ping_timestamp - broadcast({ identifier: '_ping', message: Time.now.to_i }.to_json) + def transmit_ping_timestamp + transmit({ identifier: '_ping', message: Time.now.to_i }.to_json) end def subscribe_channel(data) @@ -173,10 +181,6 @@ module ActionCable @websocket && @websocket.ready_state == Faye::WebSocket::API::OPEN end - def request - @request ||= ActionDispatch::Request.new(env) - end - def websocket? @is_websocket ||= Faye::WebSocket.websocket?(@env) end |