httpx/sig/plugins/compression.rbs
2020-12-02 01:30:38 +00:00

56 lines
1.3 KiB
Plaintext

module HTTPX
module Plugins
module Compression
extend Registry[Symbol, Class]
type deflatable = _Reader | _ToS
interface _Deflater
def deflate: (deflatable, _Writer, chunk_size: Integer) -> void
| (deflatable, _Writer, chunk_size: Integer) { (String) -> void } -> void
end
interface _Inflater
def inflate: (string) -> String
def initialize: (Numeric bytesize) -> untyped
end
def self.load_dependencies: (singleton(Session)) -> void
interface _CompressionOptions
def compression_threshold_size: () -> _Integer?
def compression_threshold_size=: (int) -> int
def with_compression_threshold_size: (int) -> instance
end
def self.extra_options: (Options) -> (Options & _CompressionOptions)
module ResponseBodyMethods
@encodings: Array[String]
@_deflaters: Array[_Decoder]
private
def decompress: (string) -> String
end
class Encoder
include Transcoder::_Encoder
include _ToS
include _Each[String]
def close: () -> void
private
def initialize: (deflatable body, _Deflater deflater) -> untyped
def deflate: () -> void
| () { (String) -> void } -> void
end
end
end
end