class Trackets::RackEnvSanitizer
Attributes
rack_env[R]
Public Class Methods
new(rack_env)
click to toggle source
# File lib/trackets/rack_env_sanitizer.rb, line 6 def initialize(rack_env) @rack_env = rack_env end
Public Instance Methods
filtered()
click to toggle source
# File lib/trackets/rack_env_sanitizer.rb, line 10 def filtered whitelisted_env.inject({}) do |result, (key, val)| result[key] = filter_val(val) if key && val =~ /\S/ result end end
Private Instance Methods
filter_val(value)
click to toggle source
# File lib/trackets/rack_env_sanitizer.rb, line 22 def filter_val(value) value.scan(/(?:^|&|\?)([^=?&]+)=([^&]+)/).each do |match| next unless Trackets.configuration.blacklisted_key?(match[0], rack_env) value.gsub!(/#{match[1]}/, '[FILTERED]') end value end
whitelisted_env()
click to toggle source
# File lib/trackets/rack_env_sanitizer.rb, line 18 def whitelisted_env rack_env.reject { |k,v| !Trackets.configuration.whitelisted_env.include?(k) } end