lib/rakismet.rb in rakismet-1.4.0 vs lib/rakismet.rb in rakismet-1.5.0
- old
+ new
@@ -7,15 +7,19 @@
require 'rakismet/middleware'
require 'rakismet/version'
require 'rakismet/railtie.rb' if defined?(Rails)
module Rakismet
- Request = Struct.new(:user_ip, :user_agent, :referrer)
+ Request = Struct.new(:user_ip, :user_agent, :referrer, :http_headers)
Undefined = Class.new(NameError)
class << self
- attr_accessor :key, :url, :host, :proxy_host, :proxy_port, :test
+ attr_accessor :key, :url, :host, :proxy_host, :proxy_port, :test, :excluded_headers
+
+ def excluded_headers
+ @excluded_headers || ['HTTP_COOKIE']
+ end
def request
@request ||= Request.new
end
@@ -24,9 +28,12 @@
end
def set_request_vars(env)
request.user_ip, request.user_agent, request.referrer =
env['REMOTE_ADDR'], env['HTTP_USER_AGENT'], env['HTTP_REFERER']
+
+ # Collect all CGI-style HTTP_ headers except cookies for privacy..
+ request.http_headers = env.select { |k,v| k =~ /^HTTP_/ }.reject { |k,v| excluded_headers.include? k }
end
def clear_request
@request = Request.new
end