Module: HTTPX::Plugins::Websocket

Defined in:
lib/httpx/plugins/websocket.rb

Defined Under Namespace

Modules: ConnectionMethods, RequestMethods, ResponseMethods

Class Method Summary collapse

Class Method Details

.call(connection, request, response) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/httpx/plugins/websocket.rb', line 15

def call(connection, request, response)
  return unless (driver = request.driver)

  return unless driver.send(:validate_handshake, response.headers)

  connection.hijack_io
  response.instance_variable_set(:@driver, driver)
  driver.instance_variable_set(:@initial_response, response.body.to_s)
end

.extra_options(options) ⇒ Object



25
26
27
28
# File 'lib/httpx/plugins/websocket.rb', line 25

def extra_options(options)
  options.merge(max_concurrent_requests: 1,
                upgrade_handlers: options.upgrade_handlers.merge("websocket" => self))
end

.load_dependencies(klass) ⇒ Object



11
12
13
# File 'lib/httpx/plugins/websocket.rb', line 11

def load_dependencies(klass)
  klass.plugin(:upgrade)
end