module Protocol::HTTP::URL

def self.scan(string)

@parameter value [String] The unescaped key.
@parameter key [String] The unescaped key.
@yields {|key, value| ...}
Scan a string for URL-encoded key/value pairs.
def self.scan(string)
	string.split("&") do |assignment|
		next if assignment.empty?
		
		key, value = assignment.split("=", 2)
		
		yield unescape(key), value.nil? ? value : unescape(value)
	end
end