Skip to content

Commit e90184f

Browse files
authored
Increase timeout settings via ktor plugin and remove redundant OkHttp timeouts (#685)
1 parent 3d37962 commit e90184f

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

app/src/main/java/at/bitfire/icsdroid/AppHttpClient.kt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ import io.ktor.client.engine.HttpClientEngine
1616
import io.ktor.client.engine.okhttp.OkHttp
1717
import io.ktor.client.engine.okhttp.OkHttpConfig
1818
import io.ktor.client.engine.okhttp.OkHttpEngine
19+
import io.ktor.client.plugins.HttpTimeout
1920
import io.ktor.client.plugins.UserAgent
2021
import kotlinx.coroutines.flow.MutableStateFlow
2122
import okhttp3.brotli.BrotliInterceptor
2223
import okhttp3.internal.tls.OkHostnameVerifier
23-
import java.util.concurrent.TimeUnit
2424
import javax.net.ssl.SSLContext
2525

2626
class AppHttpClient @AssistedInject constructor(
@@ -57,13 +57,18 @@ class AppHttpClient @AssistedInject constructor(
5757
agent = userAgent
5858
}
5959

60+
// Increase default timeouts
61+
install(HttpTimeout) {
62+
connectTimeoutMillis = 20_000
63+
requestTimeoutMillis = 60_000
64+
socketTimeoutMillis = 60_000
65+
}
66+
6067
@Suppress("UNCHECKED_CAST")
6168
if (engine is OkHttpEngine) (this as HttpClientConfig<OkHttpConfig>).engine {
6269
addNetworkInterceptor(BrotliInterceptor)
6370
config {
6471
followRedirects(false)
65-
connectTimeout(20, TimeUnit.SECONDS)
66-
readTimeout(60, TimeUnit.SECONDS)
6772
sslSocketFactory(sslContext.socketFactory, certManager)
6873
hostnameVerifier(certManager.HostnameVerifier(OkHostnameVerifier))
6974
}

0 commit comments

Comments
 (0)