lib/hubspot/codegen/files/files/api_client.rb in hubspot-api-client-9.6.0 vs lib/hubspot/codegen/files/files/api_client.rb in hubspot-api-client-10.0.0

- old
+ new

@@ -54,9 +54,23 @@ if @config.debugging @config.logger.debug "HTTP response body ~BEGIN~\n#{response.body}\n~END~\n" end unless response.success? + if config.error_handler.any? + config.error_handler.each do |statuses, opts| + statuses = statuses.is_a?(Integer) ? [statuses] : statuses + + retries = opts[:max_retries] || 5 + while retries > 0 && statuses.include?(response.code) + sleep opts[:seconds_delay] if opts[:seconds_delay] + response = request.run + opts[:retry_block].call if opts[:retry_block] + retries -= 1 + end + end + end + if response.timed_out? fail ApiError.new('Connection timed out') elsif response.code == 0 # Errors from libcurl will be made visible here fail ApiError.new(:code => 0,