# File lib/faraday/utils.rb, line 127 def escape(s) s = s.to_s s = s.dup.force_encoding('binary') if s.respond_to? :force_encoding s.gsub(/([^a-zA-Z0-9_.-]+)/n) do |match| '%' << match.unpack('H2'*bytesize(match)).join('%').tap { |c| c.upcase! } end end