Class: Restfulness::Sanitizer::QueryString

Inherits:
AbstractSanitizer show all
Defined in:
lib/restfulness/sanitizer.rb

Overview

Clean a query string of sensitive data

Constant Summary collapse

PARSER =
/
  ([^&;=]+?) # param key
  (\[.*?\])? # optionally a nested param, ie key[9]
  =          # divider
  ([^&;=]+)  # param value
/x

Instance Attribute Summary

Attributes inherited from AbstractSanitizer

#sensitive_param_matcher, #sensitive_params

Instance Method Summary collapse

Methods inherited from AbstractSanitizer

#initialize, #sensitive_param?

Constructor Details

This class inherits a constructor from Restfulness::Sanitizer::AbstractSanitizer

Instance Method Details

#sanitize(qs) ⇒ Object



58
59
60
61
62
63
64
65
66
67
# File 'lib/restfulness/sanitizer.rb', line 58

def sanitize(qs)
  return qs if sensitive_params.empty? || qs.length == 0
  qs.gsub(PARSER) do |query_param|
    if sensitive_param?($1)
      "#{$1}#{$2}=#{SANITIZED}"
    else
      query_param
    end
  end
end