module Async::WebSocket::Adapters::Rack
Public Class Methods
open(env, **options, &block)
click to toggle source
# File lib/async/websocket/adapters/rack.rb, line 35 def self.open(env, **options, &block) if request = env['async.http.request'] env = nil if response = HTTP.open(request, **options, &block) headers = response.headers if protocol = response.protocol headers = Protocol::HTTP::Headers::Merged.new(headers, [ ['rack.protocol', protocol] ]) end return [response.status, headers.to_h, response.body] end end end
websocket?(env)
click to toggle source
# File lib/async/websocket/adapters/rack.rb, line 31 def self.websocket?(env) request = env['async.http.request'] and Array(request.protocol).include?(PROTOCOL) end