lib/zendesk2/client/real.rb in zendesk2-1.5.11 vs lib/zendesk2/client/real.rb in zendesk2-1.5.12

- old
+ new

@@ -22,21 +22,31 @@ raise "Missing required options: :url" unless @url raise "Missing required options: :username" unless @username raise "Missing required options: :password or :token" unless password || @token - @service = Faraday.new({url: @url}.merge(service_options)) do |builder| + @service = Faraday.new({url: @url}.merge(service_options)) do |connection| # response - builder.use Faraday::Request::BasicAuthentication, @username, @auth_token - builder.use Faraday::Response::RaiseError - builder.response :json, content_type: /\bjson/ + connection.use Faraday::Request::BasicAuthentication, @username, @auth_token + connection.use Faraday::Response::RaiseError + connection.response :json, content_type: /\bjson/ # request - builder.request :multipart - builder.request :json + connection.request :multipart + connection.request :json - builder.use Zendesk2::Logger, @logger - builder.adapter adapter + # idempotency + connection.request :retry, + :max => 30, + :interval => 1, + :interval_randomness => 0.2, + :backoff_factor => 2 + + # rate limit + connection.use Zendesk2::RateLimit, logger: @logger + + connection.use Zendesk2::Logger, @logger + connection.adapter(*adapter) end end def request(options={}) method = options[:method] || :get