Drop the old output_compression plugin
The production servers all have mod_deflate enabled anyway, which almost certainly does a better job of compression than this.
This commit is contained in:
parent
bc056a5e98
commit
9fb8f5a84b
12 changed files with 0 additions and 106 deletions
|
@ -2,7 +2,6 @@ class ApiController < ApplicationController
|
||||||
skip_before_action :verify_authenticity_token
|
skip_before_action :verify_authenticity_token
|
||||||
before_action :check_api_readable, :except => [:capabilities]
|
before_action :check_api_readable, :except => [:capabilities]
|
||||||
before_action :setup_user_auth, :only => [:permissions]
|
before_action :setup_user_auth, :only => [:permissions]
|
||||||
after_action :compress_output
|
|
||||||
around_action :api_call_handle_error, :api_call_timeout
|
around_action :api_call_handle_error, :api_call_timeout
|
||||||
|
|
||||||
# Get an XML response containing a list of tracepoints that have been uploaded
|
# Get an XML response containing a list of tracepoints that have been uploaded
|
||||||
|
|
|
@ -14,7 +14,6 @@ class ChangesetController < ApplicationController
|
||||||
before_action :check_api_writable, :only => [:create, :update, :delete, :upload, :include, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
|
before_action :check_api_writable, :only => [:create, :update, :delete, :upload, :include, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
|
||||||
before_action :check_api_readable, :except => [:create, :update, :delete, :upload, :download, :query, :list, :feed, :comment, :subscribe, :unsubscribe, :comments_feed]
|
before_action :check_api_readable, :except => [:create, :update, :delete, :upload, :download, :query, :list, :feed, :comment, :subscribe, :unsubscribe, :comments_feed]
|
||||||
before_action(:only => [:list, :feed, :comments_feed]) { |c| c.check_database_readable(true) }
|
before_action(:only => [:list, :feed, :comments_feed]) { |c| c.check_database_readable(true) }
|
||||||
after_action :compress_output
|
|
||||||
around_action :api_call_handle_error, :except => [:list, :feed, :comments_feed]
|
around_action :api_call_handle_error, :except => [:list, :feed, :comments_feed]
|
||||||
around_action :web_timeout, :only => [:list, :feed, :comments_feed]
|
around_action :web_timeout, :only => [:list, :feed, :comments_feed]
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,6 @@ class NodeController < ApplicationController
|
||||||
before_action :require_public_data, :only => [:create, :update, :delete]
|
before_action :require_public_data, :only => [:create, :update, :delete]
|
||||||
before_action :check_api_writable, :only => [:create, :update, :delete]
|
before_action :check_api_writable, :only => [:create, :update, :delete]
|
||||||
before_action :check_api_readable, :except => [:create, :update, :delete]
|
before_action :check_api_readable, :except => [:create, :update, :delete]
|
||||||
after_action :compress_output
|
|
||||||
around_action :api_call_handle_error, :api_call_timeout
|
around_action :api_call_handle_error, :api_call_timeout
|
||||||
|
|
||||||
# Create a node from XML.
|
# Create a node from XML.
|
||||||
|
|
|
@ -9,7 +9,6 @@ class NotesController < ApplicationController
|
||||||
before_action :check_api_writable, :only => [:create, :comment, :close, :reopen, :destroy]
|
before_action :check_api_writable, :only => [:create, :comment, :close, :reopen, :destroy]
|
||||||
before_action :require_allow_write_notes, :only => [:create, :comment, :close, :reopen, :destroy]
|
before_action :require_allow_write_notes, :only => [:create, :comment, :close, :reopen, :destroy]
|
||||||
before_action :set_locale
|
before_action :set_locale
|
||||||
after_action :compress_output
|
|
||||||
around_action :api_call_handle_error, :api_call_timeout
|
around_action :api_call_handle_error, :api_call_timeout
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|
|
@ -11,7 +11,6 @@ class OldController < ApplicationController
|
||||||
before_action :require_allow_write_api, :only => [:redact]
|
before_action :require_allow_write_api, :only => [:redact]
|
||||||
before_action :check_api_readable
|
before_action :check_api_readable
|
||||||
before_action :check_api_writable, :only => [:redact]
|
before_action :check_api_writable, :only => [:redact]
|
||||||
after_action :compress_output
|
|
||||||
around_action :api_call_handle_error, :api_call_timeout
|
around_action :api_call_handle_error, :api_call_timeout
|
||||||
before_action :lookup_old_element, :except => [:history]
|
before_action :lookup_old_element, :except => [:history]
|
||||||
before_action :lookup_old_element_versions, :only => [:history]
|
before_action :lookup_old_element_versions, :only => [:history]
|
||||||
|
|
|
@ -7,7 +7,6 @@ class RelationController < ApplicationController
|
||||||
before_action :require_public_data, :only => [:create, :update, :delete]
|
before_action :require_public_data, :only => [:create, :update, :delete]
|
||||||
before_action :check_api_writable, :only => [:create, :update, :delete]
|
before_action :check_api_writable, :only => [:create, :update, :delete]
|
||||||
before_action :check_api_readable, :except => [:create, :update, :delete]
|
before_action :check_api_readable, :except => [:create, :update, :delete]
|
||||||
after_action :compress_output
|
|
||||||
around_action :api_call_handle_error, :api_call_timeout
|
around_action :api_call_handle_error, :api_call_timeout
|
||||||
|
|
||||||
def create
|
def create
|
||||||
|
|
|
@ -3,7 +3,6 @@ class SearchController < ApplicationController
|
||||||
# Can search by tag k, v, or both (type->k,value->v)
|
# Can search by tag k, v, or both (type->k,value->v)
|
||||||
# Can search by name (k=name,v=....)
|
# Can search by name (k=name,v=....)
|
||||||
skip_before_action :verify_authenticity_token
|
skip_before_action :verify_authenticity_token
|
||||||
after_action :compress_output
|
|
||||||
|
|
||||||
def search_all
|
def search_all
|
||||||
do_search(true, true, true)
|
do_search(true, true, true)
|
||||||
|
|
|
@ -7,7 +7,6 @@ class WayController < ApplicationController
|
||||||
before_action :require_public_data, :only => [:create, :update, :delete]
|
before_action :require_public_data, :only => [:create, :update, :delete]
|
||||||
before_action :check_api_writable, :only => [:create, :update, :delete]
|
before_action :check_api_writable, :only => [:create, :update, :delete]
|
||||||
before_action :check_api_readable, :except => [:create, :update, :delete]
|
before_action :check_api_readable, :except => [:create, :update, :delete]
|
||||||
after_action :compress_output
|
|
||||||
around_action :api_call_handle_error, :api_call_timeout
|
around_action :api_call_handle_error, :api_call_timeout
|
||||||
|
|
||||||
def create
|
def create
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
require "output_compression/output_compression"
|
|
|
@ -1,19 +0,0 @@
|
||||||
Copyright (c) 2004-2007 Jeremy Evans
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
|
@ -1,10 +0,0 @@
|
||||||
OutputCompression
|
|
||||||
=================
|
|
||||||
|
|
||||||
Allows gzip output compression to clients that support it. Simple to use, just
|
|
||||||
put after_filter :compress_output in your controller. Pulled out of the Google
|
|
||||||
cache and packaged into plugin form, code originally hosted at
|
|
||||||
http://www.tuxsoft.se/oss/rails/download/output_compression.rb.
|
|
||||||
|
|
||||||
svn: svn://code.jeremyevans.net/rails/plugins/output_compression
|
|
||||||
file: http://code.jeremyevans.net/code/output_compression.tar.gz
|
|
|
@ -1,68 +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
|
|
||||||
|
|
||||||
module ActionController
|
|
||||||
class Base
|
|
||||||
include CompressionSystem
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
Add table
Add a link
Reference in a new issue