httpx/sig/plugins/compression.rbs

58 lines
1.4 KiB
Plaintext

module HTTPX
module Plugins
module Compression
type encodings_registry = Registry[Symbol, Class]
type deflatable = _Reader | _ToS
interface _Deflater
def deflate: (deflatable, ?_Writer, ?chunk_size: Integer) -> _ToS
| (deflatable, ?_Writer, ?chunk_size: Integer) { (String) -> void } -> _ToS
end
interface _Inflater
def inflate: (string) -> String
def initialize: (Numeric bytesize) -> untyped
end
def self.configure: (singleton(Session)) -> void
interface _CompressionOptions
def compression_threshold_size: () -> Integer?
def compression_threshold_size=: (int) -> _ToInt
def encodings: () -> encodings_registry?
def encodings=: (encodings_registry) -> encodings_registry
end
def self.extra_options: (Options) -> (Options & _CompressionOptions)
module ResponseBodyMethods
@encodings: Array[String]
@_deflaters: Array[_Deflater]
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