class Async::WebSocket::Request
Attributes
body[RW]
headers[RW]
path[RW]
scheme[RW]
Public Class Methods
new(scheme = nil, authority = nil, path = nil, headers = nil, **options, &block)
click to toggle source
# File lib/async/websocket/request.rb, line 33 def initialize(scheme = nil, authority = nil, path = nil, headers = nil, **options, &block) @scheme = scheme @authority = authority @path = path @headers = headers @options = options @body = nil end
websocket?(request)
click to toggle source
# File lib/async/websocket/request.rb, line 29 def self.websocket?(request) Array(request.protocol).include?(PROTOCOL) end
Public Instance Methods
call(connection)
click to toggle source
Send the request to the given connection.
# File lib/async/websocket/request.rb, line 52 def call(connection) if connection.http1? return UpgradeRequest.new(self, **@options).call(connection) elsif connection.http2? return ConnectRequest.new(self, **@options).call(connection) end raise HTTP::Error, "Unsupported HTTP version: #{connection.version}!" end
idempotent?()
click to toggle source
# File lib/async/websocket/request.rb, line 62 def idempotent? true end
to_s()
click to toggle source
# File lib/async/websocket/request.rb, line 66 def to_s "\#<#{self.class} #{@scheme}://#{@authority}: #{@path}>" end