module AnyCable::Rails::Rack
def self.app
def self.app @rack_app || app_build_lock.synchronize do @rack_app ||= default_middleware_stack.yield_self do |stack| middleware.merge_into(stack) end.yield_self do |stack| stack.build { [-1, {}, []] } end end end
def self.app_build_lock
def self.app_build_lock @app_build_lock end
def self.default_middleware_stack
def self.default_middleware_stack config = ::Rails.application.config ActionDispatch::MiddlewareStack.new do |middleware| middleware.use(config.session_store, config.session_options) if config.session_store end end
def self.middleware
def self.middleware @middleware ||= ::Rails::Configuration::MiddlewareStackProxy.new end