skip_before_action :verify_authenticity_token
before_action :check_api_readable, :except => [:capabilities]
before_action :setup_user_auth, :only => [:permissions]
- after_action :compress_output
around_action :api_call_handle_error, :api_call_timeout
# Get an XML response containing a list of tracepoints that have been uploaded
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(: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 :web_timeout, :only => [:list, :feed, :comments_feed]
before_action :require_public_data, :only => [:create, :update, :delete]
before_action :check_api_writable, :only => [: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
# Create a node from XML.
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 :set_locale
- after_action :compress_output
around_action :api_call_handle_error, :api_call_timeout
##
before_action :require_allow_write_api, :only => [:redact]
before_action :check_api_readable
before_action :check_api_writable, :only => [:redact]
- after_action :compress_output
around_action :api_call_handle_error, :api_call_timeout
before_action :lookup_old_element, :except => [:history]
before_action :lookup_old_element_versions, :only => [:history]
before_action :require_public_data, :only => [:create, :update, :delete]
before_action :check_api_writable, :only => [: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
def create
# Can search by tag k, v, or both (type->k,value->v)
# Can search by name (k=name,v=....)
skip_before_action :verify_authenticity_token
- after_action :compress_output
def search_all
do_search(true, true, true)
before_action :require_public_data, :only => [:create, :update, :delete]
before_action :check_api_writable, :only => [: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
def create
+++ /dev/null
-require "output_compression/output_compression"
+++ /dev/null
-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.
+++ /dev/null
-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
+++ /dev/null
-# 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