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