    # File lib/rack/utils.rb, line 82
        def parse_query(qs, d = nil, &unescaper)
          unescaper ||= method(:unescape)

          params = KeySpaceConstrainedParams.new

          (qs || '').split(d ? /[#{d}] */n : DEFAULT_SEP).each do |p|
            next if p.empty?
            k, v = p.split('=', 2).map(&unescaper)

            if cur = params[k]
              if cur.class == Array
                params[k] << v
              else
                params[k] = [cur, v]
              end
            else
              params[k] = v
            end
          end