Sha256: 1b8e1838bd65c40efc9a8d4e57a1faae0a457e790b244941a3f9874a51ec56d1
Contents?: true
Size: 659 Bytes
Versions: 7
Compression:
Stored size: 659 Bytes
Contents
# frozen_string_literal: true module Isomorfeus module Transport class RackMiddleware include Isomorfeus::Transport::ServerProcessor WS_RESPONSE = [0, {}, []] def initialize(app) @app = app end def call(env) if env['PATH_INFO'] == Isomorfeus.api_websocket_path user = defined?(Warden::Manager) ? env['warden'].user : nil if env['rack.upgrade?'] == :websocket env['rack.upgrade'] = Isomorfeus::Transport::ServerSocketProcessor.new(env['rack.session'], user) end WS_RESPONSE else @app.call(env) end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems