Interface HttpIOExceptionHandler
- All Known Implementing Classes:
HttpBackOffIOExceptionHandler
Beta Handles an
IOException in an HTTP request.
For example, this might be used to handle an IOException with BackOff policy.
public static class HttpBackOffIOExceptionHandler implements HttpIOExceptionHandler {
BackOff backOff;
Sleeper sleeper;
public boolean handle(HttpRequest request, boolean supportsRetry) throws IOException {
if (!supportsRetry) {
return false;
}
try {
return BackOffUtils.next(sleeper, backOff);
} catch (InterruptedException exception) {
Thread.currentThread().interrupt();
return false;
}
}
}
- Since:
- 1.15
-
Method Summary
Modifier and TypeMethodDescriptionbooleanhandleIOException(HttpRequest request, boolean supportsRetry) Invoked when anIOExceptionis thrown during an HTTP request.
-
Method Details
-
handleIOException
Invoked when anIOExceptionis thrown during an HTTP request.There is a simple rule that one must follow: If you modify the request object or modify its execute interceptors in a way that should resolve the error, you must return
trueto issue a retry.- Parameters:
request- request object that can be read from for context or modified before retrysupportsRetry- whether there will actually be a retry if this handler returntrue. Some handlers may want to have an effect only when there will actually be a retry after they handle their event (e.g. a handler that implements backoff policy).- Returns:
- whether or not this handler has made a change that will require the request to be re-sent.
- Throws:
IOException
-