Module: AnyCable::Rails::Connections::PersistentSession
- Included in:
- AnyCable::Rails::Connection
- Defined in:
- lib/anycable/rails/connections/persistent_session.rb,
lib/anycable/rails/next/connection/persistent_session.rb
Instance Method Summary collapse
- #build_rack_request(env) ⇒ Object
- #handle_channel_command ⇒ Object
- #handle_open ⇒ Object
- #request ⇒ Object
Instance Method Details
#build_rack_request(env) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/anycable/rails/connections/persistent_session.rb', line 22 def build_rack_request(env) return super unless socket.session super.tap do |req| req.env[::Rack::RACK_SESSION] = SessionProxy.new(req.env[::Rack::RACK_SESSION], socket.session) end end |
#handle_channel_command ⇒ Object
18 19 20 |
# File 'lib/anycable/rails/connections/persistent_session.rb', line 18 def handle_channel_command(*) super.tap { commit_session! } end |
#handle_open ⇒ Object
14 15 16 |
# File 'lib/anycable/rails/connections/persistent_session.rb', line 14 def handle_open super.tap { commit_session! } end |
#request ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/anycable/rails/next/connection/persistent_session.rb', line 17 def request @request ||= super.tap do |req| next unless socket.session req.env[::Rack::RACK_SESSION] = SessionProxy.new(req.env[::Rack::RACK_SESSION], socket.session) end end |