class Google::APIClient::Gzip

Public Instance Methods

on_complete(env) click to toggle source
# File lib/google/api_client/gzip.rb, line 9
def on_complete(env)
  encoding = env[:response_headers]['content-encoding'].to_s.downcase
  case encoding
  when 'gzip'
    logger.debug { "Decompressing gzip encoded response (#{env[:body].length} bytes)" }        
    env[:body] = Zlib::GzipReader.new(StringIO.new(env[:body])).read
    env[:response_headers].delete('content-encoding')
    logger.debug { "Decompressed (#{env[:body].length} bytes)" }        
  when 'deflate'
    logger.debug{ "Decompressing deflate encoded response (#{env[:body].length} bytes)" }        
    env[:body] = Zlib::Inflate.inflate(env[:body])
    env[:response_headers].delete('content-encoding')
    logger.debug { "Decompressed (#{env[:body].length} bytes)" }        
  end
end