Sha256: 593d40a59d7183cb50aa4ce68d8a97d7c540ef7a3b77f1004ca6c44c3c540842
Contents?: true
Size: 1.41 KB
Versions: 1
Compression:
Stored size: 1.41 KB
Contents
module HtmlCompressor class Rack def initialize app @app = app @compressor = HtmlCompressor::Compressor.new( :enabled => true, :remove_multi_spaces => true, :remove_comments => true, :remove_intertag_spaces => true, :remove_quotes => true, :compress_css => false, :compress_javascript => false, :simple_doctype => false, :remove_script_attributes => true, :remove_style_attributes => true, :remove_link_attributes => true, :remove_form_attributes => false, :remove_input_attributes => true, :remove_javascript_protocol => true, :remove_http_protocol => true, :remove_https_protocol => false, :preserve_line_breaks => false, :simple_boolean_attributes => true ) end def call env status, headers, body = @app.call(env) if headers.key? 'Content-Type' and headers['Content-Type'] =~ /html/ content = '' body.each do |part| content << part end content = @compressor.compress(content) headers['Content-Length'] = content.length.to_s if headers['Content-Length'] [status, headers, [content]] else [status, headers, body] end ensure body.close if body.respond_to?(:close) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
htmlcompressor-0.0.2 | lib/htmlcompressor/rack.rb |