module DrunkMonkey::Transport
Public Class Methods
call(env, options = {})
click to toggle source
# File lib/drunkmonkey/transport.rb, line 13 def self.call env, options = {} request = Rack::Request.new(env) if websocket? env WebSocket.resume request, options [500,{},[]] else body = Comet.resume request, options [200,{},[body]] end end
websocket?(env)
click to toggle source
Taken from github.com/simulacre/sinatra-websocket/ Originally taken from skinny github.com/sj26/skinny
# File lib/drunkmonkey/transport.rb, line 7 def self.websocket? env env['HTTP_CONNECTION'] && env['HTTP_UPGRADE'] && env['HTTP_CONNECTION'].split(',').map(&:strip).map(&:downcase).include?('upgrade') && env['HTTP_UPGRADE'].downcase == 'websocket' end