lib/scrivito/content_service.rb in scrivito_sdk-0.18.1 vs lib/scrivito/content_service.rb in scrivito_sdk-0.30.0.rc1
- old
+ new
@@ -91,19 +91,22 @@
request.body = MultiJson.dump(payload)
request
end
def handle_response(response)
- if response.code.first == '2'
- retry_after = response["Retry-After"]
+ case code = response.code
+ when /^2/
+ retry_after = response['Retry-After']
@next_request_not_before = retry_after ? Time.now + retry_after.to_f : nil
MultiJson.load(response.body)
- elsif response.code == "429"
- raise RateLimitExceeded.new(response["Retry-After"])
- elsif response.code == '403'
- raise AccessDenied.new(response.body)
+ when '429' then raise RateLimitExceeded.new(response['Retry-After'])
+ when '403' then raise AccessDenied.new(response.body)
+ when '401', '404'
+ raise NetworkError.new(
+ 'There was a problem communicating with the Scrivito backend. '\
+ 'Check your configuration, i.e. "tenant" and "api_key".', code)
else
- raise NetworkError.new("Server responded with status code #{response.code}", response.code)
+ raise NetworkError.new("Server responded with status code #{code}", code)
end
end
def request_headers
{