@@ -18,6 +18,7 @@ import org.apache.hc.client5.http.socket.ConnectionSocketFactory
18
18
import org.apache.hc.client5.http.socket.PlainConnectionSocketFactory
19
19
import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactoryBuilder
20
20
import org.apache.hc.client5.http.ssl.TrustSelfSignedStrategy
21
+ import org.apache.hc.core5.http.HttpRequest
21
22
import org.apache.hc.core5.http.config.RegistryBuilder
22
23
import org.apache.hc.core5.http.message.BasicHeader
23
24
import org.apache.hc.core5.ssl.SSLContexts
@@ -70,6 +71,13 @@ sealed class Auth {
70
71
}
71
72
}
72
73
74
+ private class RetryAnyMethod (
75
+ maxRetries : Int ,
76
+ defaultRetryInterval : TimeValue
77
+ ): DefaultHttpRequestRetryStrategy(maxRetries, defaultRetryInterval) {
78
+ override fun handleAsIdempotent (request : HttpRequest ) = true
79
+ }
80
+
73
81
/* *
74
82
* HTTP client support functions
75
83
*/
@@ -86,7 +94,7 @@ object HttpClient : KLogging() {
86
94
insecureTLS : Boolean = false
87
95
): Pair <CloseableHttpClient , CredentialsProvider ?> {
88
96
val builder = HttpClients .custom().useSystemProperties()
89
- .setRetryStrategy(DefaultHttpRequestRetryStrategy (maxPublishRetries,
97
+ .setRetryStrategy(RetryAnyMethod (maxPublishRetries,
90
98
TimeValue .ofMilliseconds(publishRetryInterval.toLong())))
91
99
92
100
val defaultHeaders = mutableMapOf<String , String >()
0 commit comments