Clean up NetworkHelper

(cherry picked from commit e0733c1a4cef28cf413ca79597ba5ad739b5328a)

# Conflicts:
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
This commit is contained in:
arkon 2023-07-15 13:05:25 -04:00 committed by Jobobby04
parent ef343107fe
commit 8062cb8f6f
3 changed files with 43 additions and 55 deletions

View File

@ -13,32 +13,28 @@ import java.util.concurrent.TimeUnit
/* SY --> */
open /* SY <-- */ class NetworkHelper(
context: Context,
private val context: Context,
private val preferences: NetworkPreferences,
) {
private val cacheDir = File(context.cacheDir, "network_cache")
private val cacheSize = 5L * 1024 * 1024 // 5 MiB
/* SY --> */
open /* SY <-- */val cookieJar by lazy { AndroidCookieJar() }
/* SY --> */
open /* SY <-- */val cookieJar = AndroidCookieJar()
private val userAgentInterceptor by lazy {
UserAgentInterceptor(::defaultUserAgentProvider)
}
private val cloudflareInterceptor by lazy {
CloudflareInterceptor(context, cookieJar, ::defaultUserAgentProvider)
}
private val baseClientBuilder: OkHttpClient.Builder
get() {
open /* SY <-- */val client by lazy {
val builder = OkHttpClient.Builder()
.cookieJar(cookieJar)
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.callTimeout(2, TimeUnit.MINUTES)
.cache(
Cache(
directory = File(context.cacheDir, "network_cache"),
maxSize = 5L * 1024 * 1024, // 5 MiB
),
)
.addInterceptor(UncaughtExceptionInterceptor())
.addInterceptor(userAgentInterceptor)
.addInterceptor(UserAgentInterceptor(::defaultUserAgentProvider))
if (BuildConfig.DEBUG) {
val httpLoggingInterceptor = HttpLoggingInterceptor().apply {
@ -47,7 +43,7 @@ open /* SY <-- */ class NetworkHelper(
builder.addNetworkInterceptor(httpLoggingInterceptor)
}
builder.addInterceptor(cloudflareInterceptor)
builder.addInterceptor(CloudflareInterceptor(context, cookieJar, ::defaultUserAgentProvider))
when (preferences.dohProvider().get()) {
PREF_DOH_CLOUDFLARE -> builder.dohCloudflare()
@ -64,21 +60,16 @@ open /* SY <-- */ class NetworkHelper(
PREF_DOH_SHECAN -> builder.dohShecan()
}
return builder
builder.build()
}
/* SY --> */
open /* SY <-- */val client by lazy { baseClientBuilder.cache(Cache(cacheDir, cacheSize)).build() }
/**
* @deprecated Since extension-lib 1.5
*/
@Deprecated("The regular client handles Cloudflare by default")
@Suppress("UNUSED")
/* SY --> */
open /* SY <-- */val cloudflareClient by lazy {
client
}
open /* SY <-- */val cloudflareClient by lazy { client }
fun defaultUserAgentProvider() = preferences.defaultUserAgent().get().trim()
}

View File

@ -45,11 +45,9 @@ abstract class HttpSource : CatalogueSource {
.maybeInjectEHLogger()
.build()
@Deprecated("The regular client handles Cloudflare by default")
override val cloudflareClient: OkHttpClient
get() = delegate?.networkCloudflareClient ?: network.cloudflareClient
.newBuilder()
.maybeInjectEHLogger()
.build()
get() = delegate?.networkHttpClient ?: client
override val cookieJar: AndroidCookieJar
get() = network.cookieJar

View File

@ -134,7 +134,6 @@ abstract class DelegatedHttpSource(val delegate: HttpSource) : HttpSource() {
*/
open val baseHttpClient: OkHttpClient? = null
open val networkHttpClient: OkHttpClient get() = network.client
open val networkCloudflareClient: OkHttpClient get() = network.cloudflareClient
/**
* Visible name of the source.