class Rack::QueryParser

def parse_nested_query(qs, separator = 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, separator = nil)
  params = make_params
  unless qs.nil? || qs.empty?
    (qs || '').split(separator ? (COMMON_SEP[separator] || /[#{separator}] */n) : DEFAULT_SEP).each do |p|
      k, v = p.split('=', 2).map! { |s| unescape(s) }
      _normalize_params(params, k, v, 0)
    end
  end
  return params.to_h
rescue ArgumentError => e
  raise InvalidParameterError, e.message, e.backtrace
end