Interface HttpIOExceptionHandler (1.42.0)

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
NameDescription
requestHttpRequest

request object that can be read from for context or modified before retry

supportsRetryboolean

whether there will actually be a retry if this handler return true . 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
TypeDescription
boolean

whether or not this handler has made a change that will require the request to be re-sent.

Exceptions
TypeDescription
IOException