taler-android

Android apps for GNU Taler (wallet, PoS, cashier)
Log | Files | Refs | README | LICENSE

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:
Mtaler-kotlin-android/src/main/java/net/taler/common/HttpUtils.kt | 3+++
Mwallet/src/main/java/net/taler/wallet/backend/NetworkInterface.kt | 13+++++++++----
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 ->