class Origami::Filter::Flate
Class representing a Filter
used to encode and decode data with zlib/Flate compression algorithm.
Public Instance Methods
decode(stream)
click to toggle source
Decodes data using zlib/Inflate decompression method.
- stream
-
The data to decode.
# File lib/origami/filters/flate.rb, line 51 def decode(stream) zlib_stream = Zlib::Inflate.new begin uncompressed = zlib_stream.inflate(stream) rescue Zlib::DataError => zlib_except uncompressed = zlib_stream.flush_next_out unless Origami::OPTIONS[:ignore_zlib_errors] raise InvalidFlateDataError.new(zlib_except.message, input_data: stream, decoded_data: uncompressed) end end post_prediction(uncompressed) end
encode(stream)
click to toggle source
Encodes data using zlib/Deflate compression method.
- stream
-
The data to encode.
# File lib/origami/filters/flate.rb, line 43 def encode(stream) Zlib::Deflate.deflate(pre_prediction(stream), Zlib::BEST_COMPRESSION) end