Install UA for ktor client

This commit is contained in:
Dude so hot authored and renovate[bot] committed 2024-10-29 23:35:59 +08:00
1 parent 8609336240
commit b71e83047d
5 files changed
+6 -8

No files matched your search

@@ -18,7 +18,6 @@ package com.hippo.ehviewer.client
import com.hippo.ehviewer.BuildConfig
import com.hippo.ehviewer.EhApplication.Companion.ktorClient
import com.hippo.ehviewer.EhApplication.Companion.noRedirectKtorClient
import com.hippo.ehviewer.Settings
import com.hippo.ehviewer.util.bodyAsUtf8Text
import com.hippo.ehviewer.util.ensureSuccess
import eu.kanade.tachiyomi.util.system.logcat
@@ -34,7 +33,6 @@ import io.ktor.http.HttpHeaders
import io.ktor.http.HttpMethod
import io.ktor.http.ParametersBuilder
import io.ktor.http.content.TextContent
import io.ktor.http.userAgent
import kotlinx.coroutines.cancel
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArrayBuilder
@@ -65,7 +63,6 @@ fun HttpRequestBuilder.applyEhConfig(referer: String?, origin: String?) {
method = HttpMethod.Get
header("Referer", referer)
header("Origin", origin)
userAgent(Settings.userAgent)
header(HttpHeaders.Accept, CHROME_ACCEPT)
header(HttpHeaders.AcceptLanguage, CHROME_ACCEPT_LANGUAGE)
}
@@ -6,7 +6,6 @@ import coil3.network.httpHeaders
import coil3.request.CachePolicy
import coil3.request.ImageRequest
import coil3.size.Size
import com.hippo.ehviewer.Settings
import com.hippo.ehviewer.client.CHROME_ACCEPT
import com.hippo.ehviewer.client.CHROME_ACCEPT_LANGUAGE
import com.hippo.ehviewer.client.data.GalleryInfo
@@ -16,7 +15,6 @@ import com.hippo.ehviewer.spider.DownloadInfoMagics.encodeMagicRequestOrUrl
import io.ktor.http.HttpHeaders
private val header = NetworkHeaders.Builder().apply {
add(HttpHeaders.UserAgent, Settings.userAgent)
add(HttpHeaders.Accept, CHROME_ACCEPT)
add(HttpHeaders.AcceptLanguage, CHROME_ACCEPT_LANGUAGE)
}.build()
@@ -1,9 +1,11 @@
package com.hippo.ehviewer.ktor
import com.hippo.ehviewer.Settings
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.UserAgent
import io.ktor.client.plugins.cookies.HttpCookies
fun <T : HttpClientEngineConfig> HttpClientConfig<T>.configureCommon() = apply {
@@ -13,4 +15,7 @@ fun <T : HttpClientEngineConfig> HttpClientConfig<T>.configureCommon() = apply {
install(HttpTimeout) {
requestTimeoutMillis = 10_000
}
install(UserAgent) {
agent = Settings.userAgent
}
}
@@ -5,13 +5,11 @@ package com.hippo.ehviewer.ktor
import android.net.http.HttpEngine
import android.os.Build
import androidx.annotation.RequiresExtension
import com.hippo.ehviewer.Settings
import java.io.File
fun CronetConfig.configureClient() {
config = {
setEnableBrotli(true)
setUserAgent(Settings.userAgent)
// Cache Quic hint only since the real cache mechanism should on Ktor layer
val cache = File(context.cacheDir, "http_cache").apply { mkdirs() }
@@ -5,7 +5,7 @@ import android.webkit.WebView
import com.hippo.ehviewer.Settings
@SuppressLint("SetJavaScriptEnabled")
fun WebView.setDefaultSettings() = settings.run {
fun WebView.setDefaultSettings() = with(settings) {
builtInZoomControls = true
displayZoomControls = false
javaScriptEnabled = true