lib/contentful/management/client.rb in contentful-management-3.8.0 vs lib/contentful/management/client.rb in contentful-management-3.9.0
- old
+ new
@@ -1,5 +1,7 @@
+# frozen_string_literal: true
+
require 'http'
require 'json'
require 'logger'
require 'rbconfig'
@@ -66,11 +68,11 @@
integration_name: nil,
integration_version: nil
}.freeze
# Rate Limit Reset Header Key
- RATE_LIMIT_RESET_HEADER_KEY = 'x-contentful-ratelimit-reset'.freeze
+ RATE_LIMIT_RESET_HEADER_KEY = 'x-contentful-ratelimit-reset'
# @param [String] access_token
# @param [Hash] configuration
# @option configuration [String] :api_url
# @option configuration [String] :api_version
@@ -393,12 +395,12 @@
logger.info(request: { url: url, query: request.query, header: request_headers(request) }) if logger
raw_response = yield(url)
logger.debug(response: raw_response) if logger
result = Response.new(raw_response, request)
fail result.object if result.object.is_a?(Error) && configuration[:raise_errors]
- rescue Contentful::Management::RateLimitExceeded => rate_limit_error
- reset_time = rate_limit_error.response.raw[RATE_LIMIT_RESET_HEADER_KEY].to_i
+ rescue Contentful::Management::RateLimitExceeded => e
+ reset_time = e.response.raw[RATE_LIMIT_RESET_HEADER_KEY].to_i
if should_retry(retries_left, reset_time, configuration[:max_rate_limit_wait])
retries_left -= 1
logger.info(retry_message(retries_left, reset_time)) if logger
sleep(reset_time * Random.new.rand(1.0..1.2))
retry
@@ -426,11 +428,11 @@
retry_message
end
# @private
def should_retry(retries_left, reset_time, max_wait)
- retries_left > 0 && max_wait > reset_time
+ retries_left.positive? && max_wait > reset_time
end
# @private
def clear_headers
self.content_type_id = nil
@@ -500,10 +502,11 @@
# @param [Hash] proxy
#
# @return [HTTP::Response]
def http_send(type, url, params, headers, proxy)
return proxy_send(type, url, params, headers, proxy) unless proxy[:host].nil?
+
HTTP[headers].public_send(type, url, params)
end
# @private
def base_url
@@ -590,9 +593,10 @@
}
result = []
header.each do |key, values|
next unless values[:name]
+
result << format_user_agent_header(key, values)
end
result.join(' ')
end