lib/httpx/utils.rb in httpx-0.14.5 vs lib/httpx/utils.rb in httpx-0.15.0

- old
+ new

@@ -16,26 +16,28 @@ time = Time.httpdate(retry_after) time - Time.now end if RUBY_VERSION < "2.3" - def uri(*args) - URI(*args) + + def to_uri(uri) + URI(uri) end + else URIParser = URI::RFC2396_Parser.new - def uri(uri) + def to_uri(uri) return Kernel.URI(uri) unless uri.is_a?(String) && !uri.ascii_only? uri = Kernel.URI(URIParser.escape(uri)) non_ascii_hostname = URIParser.unescape(uri.host) non_ascii_hostname.force_encoding(Encoding::UTF_8) - idna_hostname = DomainName.new(non_ascii_hostname).hostname + idna_hostname = Punycode.encode_hostname(non_ascii_hostname) uri.host = idna_hostname uri.non_ascii_hostname = non_ascii_hostname uri end