class Rack::QueryParser

def parse_nested_query(qs, d = nil)

case.
ParameterTypeError is raised. Users are encouraged to return a 400 in this
query strings with parameters of conflicting types, in this case a
types are Arrays, Hashes and basic value types. It is possible to supply
parse_nested_query expands a query string into structural types. Supported
def parse_nested_query(qs, d = nil)
  params = make_params
  unless qs.nil? || qs.empty?
    (qs || '').split(d ? (COMMON_SEP[d] || /[#{d}] */n) : DEFAULT_SEP).each do |p|
      k, v = p.split('=', 2).map! { |s| unescape(s) }
      normalize_params(params, k, v, param_depth_limit)
    end
  end
  return params.to_h
rescue ArgumentError => e
  raise InvalidParameterError, e.message, e.backtrace
end