Sha256: b4bd30b11419c7876133e5ece892c507a7aab8cfae2f572fb3e5b1f32dabe495
Contents?: true
Size: 814 Bytes
Versions: 18
Compression:
Stored size: 814 Bytes
Contents
# frozen_string_literal: true module ActionCable module Connection module PersistentSession def handle_open super.tap { commit_session! } end def handle_channel_command(*) super.tap { commit_session! } end def build_rack_request return super unless socket.session super.tap do |req| req.env[::Rack::RACK_SESSION] = AnyCable::Rails::SessionProxy.new(req.env[::Rack::RACK_SESSION], socket.session) end end def commit_session! return unless request_loaded? && request.session.respond_to?(:loaded?) && request.session.loaded? socket.session = request.session.to_json end end end end ::ActionCable::Connection::Base.prepend( ::ActionCable::Connection::PersistentSession )
Version data entries
18 entries across 18 versions & 1 rubygems