class HTTP::Features::AutoDeflate::CompressedBody

def compress_all!

def compress_all!
  @compressed = Tempfile.new("http-compressed_body", :binmode => true)
  compress { |data| @compressed.write(data) }
  @compressed.rewind
end

def compressed_each

def compressed_each
  while (data = @compressed.read(Connection::BUFFER_SIZE))
    yield data
  end
ensure
  @compressed.close!
end

def each(&block)

def each(&block)
  return to_enum __method__ unless block
  if @compressed
    compressed_each(&block)
  else
    compress(&block)
  end
  self
end

def initialize(uncompressed_body)

def initialize(uncompressed_body)
  @body       = uncompressed_body
  @compressed = nil
end

def size

def size
  compress_all! unless @compressed
  @compressed.size
end