diff --git a/lib/net/http/persistent.rb b/lib/net/http/persistent.rb index de19192..b430f1f 100644 --- a/lib/net/http/persistent.rb +++ b/lib/net/http/persistent.rb @@ -1,6 +1,7 @@ require 'net/http' require 'uri' -require 'cgi' # for escaping +require 'cgi/escape' +require 'cgi/util' unless defined?(CGI::EscapeExt) require 'connection_pool' begin @@ -826,7 +827,7 @@ def proxy= proxy @proxy_connection_id = [nil, *@proxy_args].join ':' if @proxy_uri.query then - @no_proxy = CGI.parse(@proxy_uri.query)['no_proxy'].join(',').downcase.split(',').map { |x| x.strip }.reject { |x| x.empty? } + @no_proxy = URI.decode_www_form(@proxy_uri.query).filter_map { |k, v| v if k == 'no_proxy' }.join(',').downcase.split(',').map { |x| x.strip }.reject { |x| x.empty? } end end