MadTheme: Retry image load with another CDN (#9047)
fallback to cdn Co-authored-by: Vetle Ledaal <13540478+vetleledaal@users.noreply.github.com>
This commit is contained in:
parent
1ad39b7ab6
commit
e55c893b6d
@ -2,4 +2,4 @@ plugins {
|
|||||||
id("lib-multisrc")
|
id("lib-multisrc")
|
||||||
}
|
}
|
||||||
|
|
||||||
baseVersionCode = 18
|
baseVersionCode = 19
|
||||||
|
@ -39,8 +39,23 @@ abstract class MadTheme(
|
|||||||
|
|
||||||
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||||
.rateLimit(1, 1, TimeUnit.SECONDS)
|
.rateLimit(1, 1, TimeUnit.SECONDS)
|
||||||
|
.addInterceptor { chain ->
|
||||||
|
val request = chain.request()
|
||||||
|
val url = request.url
|
||||||
|
val response = chain.proceed(request)
|
||||||
|
if (!response.isSuccessful && url.fragment == "image-request") {
|
||||||
|
response.close()
|
||||||
|
val newUrl = url.newBuilder()
|
||||||
|
.host("sb.mbcdn.xyz")
|
||||||
|
.encodedPath(url.encodedPath.replaceFirst("/res/", "/"))
|
||||||
|
.fragment(null)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
|
return@addInterceptor chain.proceed(request.newBuilder().url(newUrl).build())
|
||||||
|
}
|
||||||
|
response
|
||||||
|
}.build()
|
||||||
|
|
||||||
protected open val useLegacyApi = false
|
protected open val useLegacyApi = false
|
||||||
|
|
||||||
protected open val useSlugSearch = false
|
protected open val useSlugSearch = false
|
||||||
@ -329,6 +344,10 @@ abstract class MadTheme(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun imageRequest(page: Page): Request {
|
||||||
|
return GET("${page.imageUrl}#image-request", headers)
|
||||||
|
}
|
||||||
|
|
||||||
override fun imageUrlParse(document: Document): String =
|
override fun imageUrlParse(document: Document): String =
|
||||||
throw UnsupportedOperationException()
|
throw UnsupportedOperationException()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user