lib/yext/api/concerns/faraday_connection.rb in yext-api-0.1.1 vs lib/yext/api/concerns/faraday_connection.rb in yext-api-0.1.3
- old
+ new
@@ -26,18 +26,32 @@
def live_api
self.connection = Yext::Api::Concerns::FaradayConnection.faraday_connection("https://live.yext.com/v2")
end
end
- def self.faraday_connection(url)
- Faraday.new(url: url) do |c|
- c.request :json
+ class << self
+ def faraday_connection(url)
+ Faraday.new(url: url) do |c|
+ c.request :json
+ c.request :retry,
+ max: 2,
+ interval: 0.05,
+ interval_randomness: 0.5,
+ backoff_factor: 2
- c.use Yext::Api::Utils::ResponseParser
- c.use Yext::Api::Utils::DefaultParameters
- c.use Yext::Api::Utils::ApiRateLimits
+ add_middleware(c)
- c.adapter Faraday.default_adapter
+ c.adapter Faraday.default_adapter
+ end
+ end
+
+ private
+
+ def add_middleware(c)
+ c.use Yext::Api::Utils::Middleware::ResponseParser
+ c.use Yext::Api::Utils::Middleware::DefaultParameters
+ c.use Yext::Api::Utils::Middleware::ApiRateLimits
+ c.use Yext::Api::Utils::Middleware::UriCleanup
end
end
end
end
end