From 0427a3fd85f07481130e53828dd13f6a73bb7da8 Mon Sep 17 00:00:00 2001 From: Jeremy Klein Date: Mon, 23 Sep 2024 11:17:09 -0700 Subject: [PATCH] Add explicit timeouts to the Requester --- .../kotlin/com/lightspark/sdk/core/requester/Requester.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/src/commonMain/kotlin/com/lightspark/sdk/core/requester/Requester.kt b/core/src/commonMain/kotlin/com/lightspark/sdk/core/requester/Requester.kt index 1d055f77..8bd7eaab 100644 --- a/core/src/commonMain/kotlin/com/lightspark/sdk/core/requester/Requester.kt +++ b/core/src/commonMain/kotlin/com/lightspark/sdk/core/requester/Requester.kt @@ -10,6 +10,7 @@ import com.lightspark.sdk.core.crypto.NodeKeyCache import com.lightspark.sdk.core.crypto.nextLong import com.lightspark.sdk.core.util.getPlatform import io.ktor.client.HttpClient +import io.ktor.client.plugins.HttpTimeout import io.ktor.client.plugins.compression.ContentEncoding import io.ktor.client.plugins.websocket.WebSockets import io.ktor.client.request.headers @@ -52,6 +53,12 @@ class Requester constructor( gzip() // Switch to deflate() when https://youtrack.jetbrains.com/issue/KTOR-6999 is fixed } install(WebSockets) + install(HttpTimeout) { + // See https://ktor.io/docs/client-timeout.html for more info. + requestTimeoutMillis = 20000 + connectTimeoutMillis = 5000 + socketTimeoutMillis = 10000 + } } private val userAgent = "lightspark-kotlin-sdk/${LightsparkCoreConfig.VERSION} ${getPlatform().platformName}/${getPlatform().version}"