class ActionDispatch::Request::Utils
:nodoc:
def self.check_param_encoding(params)
def self.check_param_encoding(params) case params when Array params.each { |element| check_param_encoding(element) } when Hash params.each_value { |value| check_param_encoding(value) } when String unless params.valid_encoding? # Raise Rack::Utils::InvalidParameterError for consistency with Rack. # ActionDispatch::Request#GET will re-raise as a BadRequest error. raise Rack::Utils::InvalidParameterError, "Invalid encoding for parameter: #{params.scrub}" end end end
def self.each_param_value(params, &block)
def self.each_param_value(params, &block) case params when Array params.each { |element| each_param_value(element, &block) } when Hash params.each_value { |value| each_param_value(value, &block) } when String block.call params end end
def self.normalize_encode_params(params)
def self.normalize_encode_params(params) if perform_deep_munge NoNilParamEncoder.normalize_encode_params params else ParamEncoder.normalize_encode_params params end end
def self.set_binary_encoding(request, params, controller, action)
def self.set_binary_encoding(request, params, controller, action) CustomParamEncoder.encode(request, params, controller, action) end