Sha256: 2cce1fa2759c2a5e0fcd08e2be233d4b1b0e5368d8033439890481300680d8f1

Contents?: true

Size: 1.27 KB

Versions: 8

Compression:

Stored size: 1.27 KB

Contents

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: (Integer | Float bytesize) -> untyped
      end

      def self.configure: (singleton(Session)) -> void

      interface _CompressionOptions
        def compression_threshold_size: () -> Integer?

        def encodings: () -> 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

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
httpx-0.22.5 sig/plugins/compression.rbs
httpx-0.22.4 sig/plugins/compression.rbs
httpx-0.22.3 sig/plugins/compression.rbs
httpx-0.22.2 sig/plugins/compression.rbs
httpx-0.22.1 sig/plugins/compression.rbs
httpx-0.22.0 sig/plugins/compression.rbs
httpx-0.21.1 sig/plugins/compression.rbs
httpx-0.21.0 sig/plugins/compression.rbs