lib/dato/account/client.rb in dato-0.1.23 vs lib/dato/account/client.rb in dato-0.1.24
- old
+ new
@@ -8,10 +8,12 @@
require 'dato/account/repo/account'
require 'dato/account/repo/site'
require 'dato/api_error'
+require 'cacert'
+
module Dato
module Account
class Client
REPOS = {
account: Repo::Account,
@@ -40,10 +42,15 @@
end
end
def request(*args)
connection.send(*args).body.with_indifferent_access
- rescue Faraday::ConnectionFailed => e
+ rescue Faraday::SSLError => e
+ raise e if ENV['SSL_CERT_FILE'] == Cacert.pem
+
+ Cacert.set_in_env
+ request(*args)
+ rescue Faraday::ConnectionFailed, Faraday::TimeoutError => e
raise e
rescue Faraday::ClientError => e
raise ApiError, e
end