diff --git a/basecrm.gemspec b/basecrm.gemspec index 173b5b3..d24a25c 100644 --- a/basecrm.gemspec +++ b/basecrm.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |spec| spec.files = Dir["README.md", "LICENSE", "lib/**/*"] spec.test_files = Dir["spec/**/*"] - spec.add_dependency "faraday", "~> 0.9", ">= 0.9.0" + spec.add_dependency "faraday", "~> 1.0.0" spec.add_dependency "json", "~> 2.0" spec.add_development_dependency "rspec", "~> 3.2" diff --git a/lib/basecrm/http_client.rb b/lib/basecrm/http_client.rb index 2b14265..5de7400 100644 --- a/lib/basecrm/http_client.rb +++ b/lib/basecrm/http_client.rb @@ -22,6 +22,7 @@ def initialize(config) options[:ssl] = { verify: false } unless config.verify_ssl @client = Faraday.new(config.base_url, options) do |faraday| + faraday.request :retry, max: 1 faraday.use BaseCRM::Middlewares::OAuthBearerToken, config.access_token faraday.use BaseCRM::Middlewares::RaiseError faraday.response :logger, config.logger if config.debug? @@ -74,7 +75,7 @@ def request(method, path, data={}, headers={}) body = extract_body(res) @config.logger.debug body if @config.debug? && body && @config.logger [res.status, res.headers, body] - rescue Faraday::Error::ConnectionFailed => e + rescue Faraday::ConnectionFailed => e raise ConnectionError, e.message end