teach Excon to use #fetch_timeout

This commit is contained in:
rick olson 2019-09-19 15:50:50 -06:00
parent 6c117f47b9
commit a5a398c231
2 changed files with 10 additions and 12 deletions

View File

@ -90,17 +90,15 @@ module Faraday
end end
def amend_opts_with_timeouts!(opts, req) def amend_opts_with_timeouts!(opts, req)
timeout = req[:timeout] if sec = req.fetch_timeout(:read)
return unless timeout opts[:read_timeout] = sec
end
opts[:read_timeout] = timeout if sec = req.fetch_timeout(:write)
opts[:connect_timeout] = timeout opts[:write_timeout] = sec
opts[:write_timeout] = timeout end
if sec = req.fetch_timeout(:open)
open_timeout = req[:open_timeout] opts[:connect_timeout] = sec
return unless open_timeout end
opts[:connect_timeout] = open_timeout
end end
def amend_opts_with_proxy_settings!(opts, req) def amend_opts_with_proxy_settings!(opts, req)

View File

@ -43,7 +43,7 @@ RSpec.describe Faraday::Adapter::Excon do
options = adapter.send(:opts_from_env, env) options = adapter.send(:opts_from_env, env)
expect(options[:read_timeout]).to eq(nil) expect(options[:read_timeout]).to eq(nil)
expect(options[:write_timeout]).to eq(nil) expect(options[:write_timeout]).to eq(nil)
expect(options[:connect_timeout]).to eq(nil) expect(options[:connect_timeout]).to eq(3)
end end
end end
end end