class HTTPX::Plugins::Compression::Encoder
def bytesize
def bytesize deflate @buffer.size end
def close
def close @buffer.close @body.close end
def deflate(&blk)
def deflate(&blk) return unless @buffer.size.zero? @body.rewind @deflater.deflate(@body, @buffer, chunk_size: 16_384, &blk) end
def each(&blk)
def each(&blk) return enum_for(__method__) unless block_given? unless @buffer.size.zero? @buffer.rewind return @buffer.each(&blk) end deflate(&blk) end
def initialize(body, deflater)
def initialize(body, deflater) @body = body.respond_to?(:read) ? body : StringIO.new(body.to_s) @buffer = StringIO.new("".b, File::RDWR) @deflater = deflater end
def to_s
def to_s deflate @buffer.rewind @buffer.read end