featurehelp wanted
描述
Issue: faraday does not support ipv6 in URL. For example: http://[::1]/ http://[::1]:80/
Steps to reproduce:
- Prepare a server with ipv6 environment.
- Start a HTTP server. (This step can be skipped because the issue is occurred before request is sent)
- Run the following sample.
require 'faraday'
conn = Faraday.new(:url => 'http://[::1]:80') do |faraday|
faraday.request :url_encoded # form-encode POST params
faraday.response :logger # log requests to STDOUT
faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
end
resp = conn.get '/'
Finally it'll throw the exception below.
/usr/local/lib/ruby/2.1.0/net/http.rb:879:in `initialize': getaddrinfo: Name or service not known (Faraday::ConnectionFailed)
from /usr/local/lib/ruby/2.1.0/net/http.rb:879:in `open'
from /usr/local/lib/ruby/2.1.0/net/http.rb:879:in `block in connect'
from /usr/local/lib/ruby/2.1.0/timeout.rb:76:in `timeout'
from /usr/local/lib/ruby/2.1.0/net/http.rb:878:in `connect'
from /usr/local/lib/ruby/2.1.0/net/http.rb:863:in `do_start'
from /usr/local/lib/ruby/2.1.0/net/http.rb:852:in `start'
from /usr/local/lib/ruby/2.1.0/net/http.rb:1369:in `request'
from /usr/local/lib/ruby/2.1.0/net/http.rb:1128:in `get'
from /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:80:in `perform_request'
from /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:40:in `block in call'
from /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:87:in `with_net_http_connection'
from /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:32:in `call'
from /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.9.2/lib/faraday/response.rb:8:in `call'
from /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.9.2/lib/faraday/response/logger.rb:24:in `call'
from /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.9.2/lib/faraday/request/url_encoded.rb:15:in `call'
from /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.9.2/lib/faraday/rack_builder.rb:139:in `build_response'
from /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.9.2/lib/faraday/connection.rb:377:in `run_request'
from /usr/local/lib/ruby/gems/2.1.0/gems/faraday-0.9.2/lib/faraday/connection.rb:140:in `get'
from f.rb:9:in `<main>'