X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/ca8e1bf18822e77acda9437c9980d5359894a502..29c1bab0e6dcc0f4b302fb06c62a8bf0a35f875c:/vendor/plugins/output_compression/lib/output_compression.rb diff --git a/vendor/plugins/output_compression/lib/output_compression.rb b/vendor/plugins/output_compression/lib/output_compression.rb deleted file mode 100644 index c7652ae1d..000000000 --- a/vendor/plugins/output_compression/lib/output_compression.rb +++ /dev/null @@ -1,66 +0,0 @@ -# OutputCompression -# Rails output compression filters -# -# Adds two classmethods to ActionController that can be used as after-filters: -# strip_whitespace and compress_output. -# If you use page-caching, you MUST specify the compress_output filter AFTER -# caches_page, otherwise the compressed data will be cached instead of the HTML -# -# class MyController < ApplicationController -# after_filter :strip_whitespace -# caches_page :index -# after_filter :compress_output -# end - -begin - require 'zlib' - require 'stringio' - GZIP_SUPPORTED = true -rescue - GZIP_SUPPORTED = false -end - -module CompressionSystem - def compress_output - return unless accepts_gzip? - output = StringIO.new - def output.close - # Zlib does a close. Bad Zlib... - rewind - end - gz = Zlib::GzipWriter.new(output) - gz.write(response.body) - gz.close - if output.length < response.body.length - @old_response_body = response.body - response.body = output.string - response.headers['Content-encoding'] = @compression_encoding - end - end - - def accepts_gzip? - return false unless GZIP_SUPPORTED - accepts = request.env['HTTP_ACCEPT_ENCODING'] - return false unless accepts && accepts =~ /(x-gzip|gzip)/ - @compression_encoding = $1 - true - end - - def strip_whitespace - response.body.gsub!(/()|(.*?<\/script>)|()|()|\s+/m) do |m| - if m =~ /^()(.*?)<\/script>$/m - $1 + $2.strip.gsub(/\s+/, ' ').gsub('',"\n-->") + '' - elsif m =~ /^$/m - '' - elsif m =~ /^<(textarea|pre)/ - m - else ' ' - end - end - response.body.gsub! /\s+\s+/, '>' - end -end - -class ActionController::Base - include CompressionSystem -end \ No newline at end of file