module Protocol::HTTP::URL
def self.escape(string, encoding = string.encoding)
@parameter string [String] The string to escape.
Escapes a string using percent encoding, e.g. `a b` -> `a%20b`.
def self.escape(string, encoding = string.encoding) string.b.gsub(/([^a-zA-Z0-9_.\-]+)/) do |m| "%" + m.unpack("H2" * m.bytesize).join("%").upcase end.force_encoding(encoding) end