Comick: increase rate limit and separate (#10033)

* Comick: increase rate limit and separate

Closes #9057

* separate ratelimit correctly to avoid stacking

* cleaning
This commit is contained in:
Luqman 2025-08-09 15:54:31 +07:00 committed by Draff
parent d8fe748376
commit 8f13e8b15c
Signed by: Draff
GPG Key ID: E8A89F3211677653
2 changed files with 16 additions and 2 deletions

View File

@ -1,7 +1,7 @@
ext {
extName = 'Comick'
extClass = '.ComickFactory'
extVersionCode = 57
extVersionCode = 58
isNsfw = true
}

View File

@ -248,9 +248,23 @@ abstract class Comick(
override val client = network.cloudflareClient.newBuilder()
.addNetworkInterceptor(::errorInterceptor)
.rateLimit(3, 1, TimeUnit.SECONDS)
.addInterceptor(::imageInterceptor)
.rateLimit(5, 6, TimeUnit.SECONDS) // == 50req each (60sec / 1min)
.build()
private val imageClient = network.cloudflareClient.newBuilder()
.rateLimit(12, 8, TimeUnit.SECONDS) // == 1.5req/1sec == 3req/2sec == 90req/60sec
.build()
private fun imageInterceptor(chain: Interceptor.Chain): Response {
val request = chain.request()
return if (request.url.host.endsWith("comick.pictures")) {
imageClient.newCall(request).execute()
} else {
chain.proceed(request)
}
}
private fun errorInterceptor(chain: Interceptor.Chain): Response {
val response = chain.proceed(chain.request())