Class AzureRateLimitRetryHandler
java.lang.Object
org.jclouds.http.handlers.RateLimitRetryHandler
org.jclouds.azurecompute.arm.handlers.AzureRateLimitRetryHandler
- All Implemented Interfaces:
HttpRetryHandler
Handles 429 Too Many Requests responses.
The Azure ARM provider also returns this 429 HTTP status code for some errors
when resources are busy or in a state where they cannot be modified. In this
case this handler delegates to the AzureRetryableErrorHandler to
determine if the requests can be retried.
-
Field Summary
Fields inherited from class org.jclouds.http.handlers.RateLimitRetryHandler
loggerFields inherited from interface org.jclouds.http.HttpRetryHandler
ALWAYS_RETRY, NEVER_RETRY -
Method Summary
Modifier and TypeMethodDescriptionprotected booleandelayRequestUntilAllowed(HttpCommand command, HttpResponse response) static booleanisRateLimitError(HttpResponse response) protected com.google.common.base.Optional<Long> millisToNextAvailableRequest(HttpCommand command, HttpResponse response) Compute the number of milliseconds that must pass until a request can be performed.Methods inherited from class org.jclouds.http.handlers.RateLimitRetryHandler
getMaxRateLimitWait, getRetryCountLimit, rateLimitErrorStatus, shouldRetryRequest
-
Method Details
-
delayRequestUntilAllowed
- Overrides:
delayRequestUntilAllowedin classRateLimitRetryHandler
-
millisToNextAvailableRequest
protected com.google.common.base.Optional<Long> millisToNextAvailableRequest(HttpCommand command, HttpResponse response) Description copied from class:RateLimitRetryHandlerCompute the number of milliseconds that must pass until a request can be performed.- Specified by:
millisToNextAvailableRequestin classRateLimitRetryHandler- Parameters:
command- The command being executed.response- The rate-limit error response.- Returns:
- The number of milliseconds to wait for an available request, if taht information is available.
-
isRateLimitError
-