public interface HttpIOExceptionHandler
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; } } }
Methods
handleIOException(HttpRequest request, boolean supportsRetry)
public abstract boolean handleIOException(HttpRequest request, boolean supportsRetry)
Invoked when an IOException is 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 true
to
issue a retry.
Parameters | |
---|---|
Name | Description |
request |
HttpRequest request object that can be read from for context or modified before retry |
supportsRetry |
boolean whether there will actually be a retry if this handler return |
Returns | |
---|---|
Type | Description |
boolean |
whether or not this handler has made a change that will require the request to be re-sent. |
Exceptions | |
---|---|
Type | Description |
IOException |