module HTTPX::Plugins::Brotli

  1. lib/httpx/plugins/brotli.rb

Methods

Public Class

  1. extra_options

Public Instance

  1. decode
  2. encode
  3. load_dependencies

Public Class methods

extra_options(options)
[show source]
   # File lib/httpx/plugins/brotli.rb
59 def self.extra_options(options)
60   supported_compression_formats = (%w[br] + options.supported_compression_formats).freeze
61   options.merge(
62     supported_compression_formats: supported_compression_formats,
63     headers: options.headers_class.new(options.headers.merge("accept-encoding" => supported_compression_formats))
64   )
65 end

Public Instance methods

decode(response, bytesize: nil)
[show source]
   # File lib/httpx/plugins/brotli.rb
71 def decode(response, bytesize: nil)
72   bytesize ||= response.headers.key?("content-length") ? response.headers["content-length"].to_i : Float::INFINITY
73   Inflater.new(bytesize)
74 end
encode(body)
[show source]
   # File lib/httpx/plugins/brotli.rb
67 def encode(body)
68   Deflater.new(body)
69 end
load_dependencies(*)
[show source]
   # File lib/httpx/plugins/brotli.rb
54 def load_dependencies(*)
55   gem "brotli", ">= 0.8.0"
56   require "brotli"
57 end