This is an unofficial chat room, if you want to reach out to the Faraday core team, join us on GitHub Discussions (https://github.com/lostisland/faraday/discussions) instead
undefined method close
which I am using version 0.17.0
close
method have just been added to master
branch (not released yet) and so far has not been implemented in any adapter yet: lostisland/faraday#1069
master
branch and add the close
method implementation to the adapter you’re using
Faraday::Connection.new(url: url) do |faraday|
faraday.request :url_encoded
faraday.response :logger
faraday.adapter Faraday.default_adapter
end
close
to whichever adapter you’re using (default is Net::HTTP
) and in that method, close the connection
retry_block
is not
"http://server/selled?startDate=2020-01-01T00:00:00-03:00&endDate=2020-01-01T23:59:59-03:00&categoryID=9878&sellerID=4645"
and I'm having trouble when the URL is encoded
@embs sorry I missed your message! I’m trying to reproduce that issue on my Mac but I see a normal
Faraday::ConnectionFailed
exception being raised. Could you provide some additional information about your OS and if there’s something listening to that port?
@iMacTia no problem. Thanks for your help! I was able to investigate this further and could reliably reproduce it when running on Docker.
The problem seems to have been fixed in v1.
If we build two docker images, say faraday-get-localhost:0.17.3
with a Dockerfile such as
FROM ruby:2.5.3-slim
RUN gem install faraday -v 0.17.3
CMD ruby -e "require 'faraday'; p Faraday::VERSION; Faraday.get('http://localhost:9875')"
and another image for v1:
FROM ruby:2.5.3-slim
RUN gem install faraday
CMD ruby -e "require 'faraday'; p Faraday::VERSION; Faraday.get('http://localhost:9875')"
Then when we run 0.17.3 we get an EADDRNOTAVAIL
:
$ docker run faraday-get-localhost:0.17.3
"0.17.3"
/usr/local/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect': Failed to open TCP connection to localhost:9875 (Cannot assign requested address - connect(2) for "localhost" port 9875) (Errno::EADDRNOTAVAIL)
from /usr/local/lib/ruby/2.5.0/net/http.rb:936:in `block in connect'
from /usr/local/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout'
from /usr/local/lib/ruby/2.5.0/timeout.rb:103:in `timeout'
from /usr/local/lib/ruby/2.5.0/net/http.rb:935:in `connect'
from /usr/local/lib/ruby/2.5.0/net/http.rb:920:in `do_start'
from /usr/local/lib/ruby/2.5.0/net/http.rb:909:in `start'
from /usr/local/lib/ruby/2.5.0/net/http.rb:1455:in `request'
from /usr/local/lib/ruby/2.5.0/net/http.rb:1213:in `get'
from /usr/local/bundle/gems/faraday-0.17.3/lib/faraday/adapter/net_http.rb:85:in `perform_request'
from /usr/local/bundle/gems/faraday-0.17.3/lib/faraday/adapter/net_http.rb:43:in `block in call'
from /usr/local/bundle/gems/faraday-0.17.3/lib/faraday/adapter/net_http.rb:92:in `with_net_http_connection'
from /usr/local/bundle/gems/faraday-0.17.3/lib/faraday/adapter/net_http.rb:38:in `call'
from /usr/local/bundle/gems/faraday-0.17.3/lib/faraday/request/url_encoded.rb:15:in `call'
from /usr/local/bundle/gems/faraday-0.17.3/lib/faraday/rack_builder.rb:143:in `build_response'
from /usr/local/bundle/gems/faraday-0.17.3/lib/faraday/connection.rb:387:in `run_request'
from /usr/local/bundle/gems/faraday-0.17.3/lib/faraday/connection.rb:138:in `get'
from /usr/local/bundle/gems/faraday-0.17.3/lib/faraday.rb:102:in `method_missing'
from -e:1:in `<main>'
But when running v1 we get a proper Faraday::ConnectionFailed
:
$ docker run faraday-get-localhost:1.0
"1.0.0"
/usr/local/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect': Failed to open TCP connection to localhost:9875 (Cannot assign requested address - connect(2) for "localhost" port 9875) (Faraday::ConnectionFailed)
from /usr/local/lib/ruby/2.5.0/net/http.rb:936:in `block in connect'
from /usr/local/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout'
from /usr/local/lib/ruby/2.5.0/timeout.rb:103:in `timeout'
from /usr/local/lib/ruby/2.5.0/net/http.rb:935:in `connect'
from /usr/local/lib/ruby/2.5.0/net/http.rb:920:in `do_start'
from /usr/local/lib/ruby/2.5.0/net/http.rb:909:in `start'
from /usr/local/lib/ruby/2.5.0/net/http.rb:1455:in `request'
from /usr/local/lib/ruby/2.5.0/net/http.rb:1