Method: Addressable::URI.form_unencode
- Defined in:
- lib/addressable/uri.rb
.form_unencode(encoded_value) ⇒ Array
Decodes a String according to the rules for the application/x-www-form-urlencoded MIME type.
793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 |
# File 'lib/addressable/uri.rb', line 793 def self.form_unencode(encoded_value) if !encoded_value.respond_to?(:to_str) raise TypeError, "Can't convert #{encoded_value.class} into String." end encoded_value = encoded_value.to_str split_values = encoded_value.split("&").map do |pair| pair.split("=", 2) end return split_values.map do |(key, value)| [ key ? self.unencode_component( key.gsub("+", "%20")).gsub(/(\r\n|\n|\r)/, "\n") : nil, value ? (self.unencode_component( value.gsub("+", "%20")).gsub(/(\r\n|\n|\r)/, "\n")) : nil ] end end |