From aab8fabb1fc55bd1b15f480faf49bf5cf2331251 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <99822064+revonateB0T@users.noreply.github.com> Date: Wed, 30 Oct 2024 00:21:19 +0800 Subject: [PATCH] Disable SaveBodyPlugin & fix non-redirect Ktor client defaults --- app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt | 7 +------ app/src/main/kotlin/com/hippo/ehviewer/ktor/Common.kt | 7 ++++++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt b/app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt index b15e7d89a..bfd7aceb7 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt @@ -34,7 +34,6 @@ import coil3.request.ImageRequest import coil3.request.crossfade import coil3.serviceLoaderEnabled import coil3.util.DebugLogger -import com.hippo.ehviewer.client.EhCookieStore import com.hippo.ehviewer.client.EhTagDatabase import com.hippo.ehviewer.coil.CropBorderInterceptor import com.hippo.ehviewer.coil.DetectBorderInterceptor @@ -73,7 +72,6 @@ import eu.kanade.tachiyomi.util.lang.withUIContext import eu.kanade.tachiyomi.util.system.logcat import io.ktor.client.HttpClient import io.ktor.client.engine.okhttp.OkHttp -import io.ktor.client.plugins.cookies.HttpCookies import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import logcat.AndroidLogcatLogger @@ -212,10 +210,7 @@ class EhApplication : val noRedirectKtorClient by lazy { HttpClient(ktorClient.engine) { - followRedirects = false - install(HttpCookies) { - storage = EhCookieStore - } + configureCommon(redirect = false) } } diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ktor/Common.kt b/app/src/main/kotlin/com/hippo/ehviewer/ktor/Common.kt index 308d8ed16..d6efbedca 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ktor/Common.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ktor/Common.kt @@ -5,6 +5,7 @@ import com.hippo.ehviewer.client.EhCookieStore import io.ktor.client.HttpClientConfig import io.ktor.client.engine.HttpClientEngineConfig import io.ktor.client.plugins.HttpTimeout +import io.ktor.client.plugins.SaveBodyPlugin import io.ktor.client.plugins.UserAgent import io.ktor.client.plugins.cookies.HttpCookies import io.ktor.client.plugins.defaultRequest @@ -14,7 +15,7 @@ import io.ktor.http.HttpHeaders private const val CHROME_ACCEPT = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" private const val CHROME_ACCEPT_LANGUAGE = "en-US,en;q=0.5" -fun HttpClientConfig.configureCommon() = apply { +fun HttpClientConfig.configureCommon(redirect: Boolean = true) = apply { install(HttpCookies) { storage = EhCookieStore } @@ -28,4 +29,8 @@ fun HttpClientConfig.configureCommon() = apply { header(HttpHeaders.Accept, CHROME_ACCEPT) header(HttpHeaders.AcceptLanguage, CHROME_ACCEPT_LANGUAGE) } + followRedirects = redirect + install(SaveBodyPlugin) { + disabled = true + } }