diff options
Diffstat (limited to 'eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/EaafHttpRequestRetryHandler.java')
-rw-r--r-- | eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/EaafHttpRequestRetryHandler.java | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/EaafHttpRequestRetryHandler.java b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/EaafHttpRequestRetryHandler.java index 3aa908e8..026b76c4 100644 --- a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/EaafHttpRequestRetryHandler.java +++ b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/EaafHttpRequestRetryHandler.java @@ -5,12 +5,13 @@ import java.util.Arrays; import javax.net.ssl.SSLException; -import org.apache.http.client.HttpRequestRetryHandler; -import org.apache.http.impl.client.DefaultHttpRequestRetryHandler; +import org.apache.hc.client5.http.HttpRequestRetryStrategy; +import org.apache.hc.client5.http.impl.DefaultHttpRequestRetryStrategy; +import org.apache.hc.core5.util.TimeValue; + +public class EaafHttpRequestRetryHandler extends DefaultHttpRequestRetryStrategy implements + HttpRequestRetryStrategy { -public class EaafHttpRequestRetryHandler extends DefaultHttpRequestRetryHandler implements - HttpRequestRetryHandler { - /** * Create the request retry handler using the following list of non-retriable. * IOException classes: <br> @@ -18,16 +19,22 @@ public class EaafHttpRequestRetryHandler extends DefaultHttpRequestRetryHandler * <li>UnknownHostException</li> * <li>SSLException</li> * </ul> - * - * @param retryCount how many times to retry; 0 means no retries - * @param requestSentRetryEnabled true if it's OK to retry non-idempotent - * requests that have been sent + * HTTP StatusCodes: + * <ul> + * <li>429</li> + * <li>502</li> + * </ul> + * After two seconds if no {@code Retry-After} header was set. + * + * @param retryCount how many times to retry; 0 means no retries */ - public EaafHttpRequestRetryHandler(final int retryCount, final boolean requestSentRetryEnabled) { - super(retryCount, requestSentRetryEnabled, Arrays.asList( - UnknownHostException.class, - SSLException.class)); - + public EaafHttpRequestRetryHandler(final int retryCount) { + super(retryCount, TimeValue.ofSeconds(2), + Arrays.asList( + UnknownHostException.class, + SSLException.class), + Arrays.asList(429, 502)); + } - + } |