Sha256: 803a4e2d998241b3a9992219f4f804c11b7ba0a8a3480ad97249deccc9cac546

Contents?: true

Size: 508 Bytes

Versions: 8

Compression:

Stored size: 508 Bytes

Contents

# frozen_string_literal: true

module Isomorfeus
  module Transport
    class RackMiddleware
      WS_RESPONSE = [0, {}, []]

      def initialize(app)
        @app = app
      end

      def call(env)
        if env['PATH_INFO'] == Isomorfeus.api_websocket_path
          if env['rack.upgrade?'] == :websocket
            env['rack.upgrade'] = Isomorfeus::Transport::ServerSocketProcessor.new
          end
          WS_RESPONSE
        else
          @app.call(env)
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
isomorfeus-transport-1.0.0.zeta5 lib/isomorfeus/transport/rack_middleware.rb
isomorfeus-transport-1.0.0.zeta4 lib/isomorfeus/transport/rack_middleware.rb
isomorfeus-transport-1.0.0.zeta3 lib/isomorfeus/transport/rack_middleware.rb
isomorfeus-transport-1.0.0.zeta2 lib/isomorfeus/transport/rack_middleware.rb
isomorfeus-transport-1.0.0.zeta1 lib/isomorfeus/transport/rack_middleware.rb
isomorfeus-transport-1.0.0.epsilon4 lib/isomorfeus/transport/rack_middleware.rb
isomorfeus-transport-1.0.0.epsilon3 lib/isomorfeus/transport/rack_middleware.rb
isomorfeus-transport-1.0.0.epsilon2 lib/isomorfeus/transport/rack_middleware.rb