aboutsummaryrefslogtreecommitdiffstats
path: root/lib/action_cable/connection
diff options
context:
space:
mode:
Diffstat (limited to 'lib/action_cable/connection')
-rw-r--r--lib/action_cable/connection/base.rb22
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