Module: HTTPX::Plugins::H2C

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

Overview

This plugin adds support for upgrading a plaintext HTTP/1.1 connection to HTTP/2 (tools.ietf.org/html/rfc7540#section-3.2)

gitlab.com/honeyryderchuck/httpx/wikis/Upgrade#h2c

Defined Under Namespace

Modules: ConnectionMethods, InstanceMethods Classes: H2CParser

Constant Summary collapse

VALID_H2C_VERBS =
%i[get options head].freeze

Class Method Summary collapse

Class Method Details

.call(connection, request, response) ⇒ Object



24
25
26
# File 'lib/httpx/plugins/h2c.rb', line 24

def call(connection, request, response)
  connection.upgrade_to_h2c(request, response)
end

.configure(klass) ⇒ Object



19
20
21
22
# File 'lib/httpx/plugins/h2c.rb', line 19

def configure(klass)
  klass.plugin(:upgrade)
  klass.default_options.upgrade_handlers.register "h2c", self
end

.extra_options(options) ⇒ Object



28
29
30
# File 'lib/httpx/plugins/h2c.rb', line 28

def extra_options(options)
  options.merge(max_concurrent_requests: 1)
end

.load_dependenciesObject



15
16
17
# File 'lib/httpx/plugins/h2c.rb', line 15

def load_dependencies(*)
  require "base64"
end