# File lib/rack/utils.rb, line 112 112: def build_nested_query(value, prefix = nil) 113: case value 114: when Array 115: value.map { |v| 116: build_nested_query(v, "#{prefix}[]") 117: }.join("&") 118: when Hash 119: value.map { |k, v| 120: build_nested_query(v, prefix ? "#{prefix}[#{escape(k)}]" : escape(k)) 121: }.join("&") 122: when String 123: raise ArgumentError, "value must be a Hash" if prefix.nil? 124: "#{prefix}=#{escape(value)}" 125: else 126: prefix 127: end 128: end