class EventMachine::HttpDecoders::GZip

Public Class Methods

encoding_names() click to toggle source
# File lib/em-http/decoders.rb, line 219
def self.encoding_names
  %w(gzip compressed)
end

Public Instance Methods

decompress(compressed) click to toggle source
# File lib/em-http/decoders.rb, line 223
def decompress(compressed)
  @header ||= GZipHeader.new
  if !@header.finished?
    compressed = @header.extract_stream(compressed)
  end

  @zstream ||= Zlib::Inflate.new(-Zlib::MAX_WBITS)
  @zstream.inflate(compressed)
rescue Zlib::Error
  raise DecoderError
end
finalize() click to toggle source
# File lib/em-http/decoders.rb, line 235
def finalize
  if @zstream
    if !@zstream.finished?
      r = @zstream.finish
    end
    @zstream.close
    r
  else
    nil
  end
rescue Zlib::Error
  raise DecoderError
end