class HTTP::Features::AutoDeflate::CompressedBody
Public Class Methods
new(body)
click to toggle source
# File lib/http/features/auto_deflate.rb, line 31 def initialize(body) @body = body @compressed = nil end
Public Instance Methods
each(&block)
click to toggle source
# File lib/http/features/auto_deflate.rb, line 41 def each(&block) return to_enum __method__ unless block if @compressed compressed_each(&block) else compress(&block) end self end
size()
click to toggle source
# File lib/http/features/auto_deflate.rb, line 36 def size compress_all! unless @compressed @compressed.size end
Private Instance Methods
compress_all!()
click to toggle source
# File lib/http/features/auto_deflate.rb, line 63 def compress_all! @compressed = Tempfile.new("http-compressed_body", :binmode => true) compress { |data| @compressed.write(data) } @compressed.rewind end
compressed_each() { |data| ... }
click to toggle source
# File lib/http/features/auto_deflate.rb, line 55 def compressed_each while (data = @compressed.read(Connection::BUFFER_SIZE)) yield data end ensure @compressed.close! end