commit 3087f4bf6bf2260e443ea28fd44308b99736d369
parent a8ae6141e54e5b8ee49c50a35254ad436790a86c
Author: Iván Ávalos <avalos@disroot.org>
Date: Thu, 20 Jun 2024 08:24:11 -0600
[wallet] Disable HTTP socket and connect timeouts
Diffstat:
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/taler-kotlin-android/src/main/java/net/taler/common/HttpUtils.kt b/taler-kotlin-android/src/main/java/net/taler/common/HttpUtils.kt
@@ -55,6 +55,9 @@ fun getDefaultHttpClient(
} else {
HttpTimeout.INFINITE_TIMEOUT_MS
}
+
+ socketTimeoutMillis = HttpTimeout.INFINITE_TIMEOUT_MS
+ connectTimeoutMillis = HttpTimeout.INFINITE_TIMEOUT_MS
}
install(Logging) {
logger = Logger.ANDROID
diff --git a/wallet/src/main/java/net/taler/wallet/backend/NetworkInterface.kt b/wallet/src/main/java/net/taler/wallet/backend/NetworkInterface.kt
@@ -60,12 +60,12 @@ class NetworkInterface: Networking.RequestHandler {
client.request {
url(req.url)
- method = req.method.toHttpMethod() ?: error("invalid method")
+ method = req.method.toHttpMethod()
+ ?: error("invalid method")
headers {
- req.headers.forEach {
- val parts = it.split(':', limit = 2)
- if (parts.size == 2) header(parts[0].trim(), parts[1].trim())
+ parseHeaders(req.headers).map {
+ header(it.key, it.value)
}
}
@@ -110,6 +110,11 @@ class NetworkInterface: Networking.RequestHandler {
}
}
+ private fun parseHeaders(headers: Array<String>) = headers.associate {
+ val parts = it.split(':', limit = 2)
+ parts[0] to parts[1]
+ }
+
override fun cancelRequest(id: Int): Boolean {
Log.d(TAG, "HTTP: cancelRequest($id")
requests[id]?.let { job ->