summaryrefslogtreecommitdiff
path: root/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/http/EaafHttpRequestRetryHandler.java
diff options
context:
space:
mode:
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.java37
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));
+
}
-
+
}