Networking Basics
Query Parameters
Query strings carry small name/value pairs after the ? in a URL.
Query Parameters
query_parameters.rb
require "uri"
raw_query =
pairs = URI.decode_www_form(raw_query)
params = pairs.to_h
first_key = pairs.first[0]
first_value = pairs.first[1]
tag_count = pairs.count { |key, _value| key == "tag" }
puts "raw_query=#{raw_query}"
puts "first=#{first_key}:#{first_value}"
puts "sort=#{params.fetch('sort', 'none')}"
puts "tag_count=#{tag_count}"
require "uri"
raw_query =
pairs = URI.decode_www_form(raw_query)
params = pairs.to_h
first_key = pairs.first[0]
first_value = pairs.first[1]
tag_count = pairs.count { |key, _value| key == "tag" }
puts "raw_query=#{raw_query}"
puts "first=#{first_key}:#{first_value}"
puts "sort=#{params.fetch('sort', 'none')}"
puts "tag_count=#{tag_count}"
require "uri"
raw_query =
pairs = URI.decode_www_form(raw_query)
params = pairs.to_h
first_key = pairs.first[0]
first_value = pairs.first[1]
tag_count = pairs.count { |key, _value| key == "tag" }
puts "raw_query=#{raw_query}"
puts "first=#{first_key}:#{first_value}"
puts "sort=#{params.fetch('sort', 'none')}"
puts "tag_count=#{tag_count}"
query params
`URI.decode_www_form` decodes a query string into pairs that can be turned into a hash.