class Rack::Deflater

def initialize(app, options = {})

Defaults to +true+.
latency for time-sensitive streaming applications, but hurts compression and throughput.
:sync :: determines if the stream is going to be flushed after every chunk. Flushing after every chunk reduces
:include :: a list of content types that should be compressed. By default, all content types are compressed.
such as when it is an +IO+ instance.
However, be aware that calling `body.each` inside the block will break cases where `body.each` is not idempotent,
(e.g use Rack::Deflater, :if => lambda { |*, body| sum=0; body.each { |i| sum += i.length }; sum > 512 }).
:if :: a lambda enabling / disabling deflation based on returned boolean value

Creates Rack::Deflater middleware. Options:
def initialize(app, options = {})
  @app = app
  @condition = options[:if]
  @compressible_types = options[:include]
  @sync = options.fetch(:sync, true)
end