@Beta public interface HttpIOExceptionHandler
Beta
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; } } }
Modifier and Type | Method and Description |
---|---|
boolean |
handleIOException(HttpRequest request,
boolean supportsRetry)
Invoked when an
IOException is thrown during an HTTP request. |
boolean handleIOException(HttpRequest request, boolean supportsRetry) throws IOException
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.
request
- request object that can be read from for context or modified before retrysupportsRetry
- 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).IOException
Copyright © 2011–2020 Google. All rights reserved.