Class: ZMachine::HttpDecoders::GZip
- Inherits:
-
Base
- Object
- Base
- ZMachine::HttpDecoders::GZip
show all
- Defined in:
- lib/z-http/decoders.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#<<, #finalize!, #initialize
Class Method Details
.encoding_names ⇒ Object
219
220
221
|
# File 'lib/z-http/decoders.rb', line 219
def self.encoding_names
%w(gzip compressed)
end
|
Instance Method Details
#decompress(compressed) ⇒ Object
223
224
225
226
227
228
229
230
231
232
233
234
|
# File 'lib/z-http/decoders.rb', line 223
def decompress(compressed)
compressed.force_encoding('BINARY')
@header ||= GZipHeader.new
if !@header.finished?
compressed = @header.(compressed)
end
@zstream ||= Zlib::Inflate.new(-Zlib::MAX_WBITS)
@zstream.inflate(compressed)
rescue Zlib::Error
raise DecoderError
end
|
#finalize ⇒ Object
236
237
238
239
240
241
242
243
244
245
246
247
248
|
# File 'lib/z-http/decoders.rb', line 236
def finalize
if @zstream
if !@zstream.finished?
r = @zstream.finish
end
@zstream.close
r
else
nil
end
rescue Zlib::Error
raise DecoderError
end
|