Mangabz: fix stubbed CookieManager (#13398)
This commit is contained in:
parent
58204ce520
commit
57df836362
|
@ -1,5 +1,6 @@
|
||||||
package eu.kanade.tachiyomi.extension.zh.mangabz
|
package eu.kanade.tachiyomi.extension.zh.mangabz
|
||||||
|
|
||||||
|
import android.util.Log
|
||||||
import android.webkit.CookieManager
|
import android.webkit.CookieManager
|
||||||
import okhttp3.Interceptor
|
import okhttp3.Interceptor
|
||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
|
@ -13,7 +14,7 @@ class CookieInterceptor(
|
||||||
init {
|
init {
|
||||||
val url = "https://$domain/"
|
val url = "https://$domain/"
|
||||||
val cookie = "$key=$value; Domain=$domain; Path=/"
|
val cookie = "$key=$value; Domain=$domain; Path=/"
|
||||||
CookieManager.getInstance().setCookie(url, cookie)
|
setCookie(url, cookie)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun intercept(chain: Interceptor.Chain): Response {
|
override fun intercept(chain: Interceptor.Chain): Response {
|
||||||
|
@ -24,7 +25,7 @@ class CookieInterceptor(
|
||||||
val cookieList = request.header("Cookie")?.split("; ") ?: emptyList()
|
val cookieList = request.header("Cookie")?.split("; ") ?: emptyList()
|
||||||
if (cookie in cookieList) return chain.proceed(request)
|
if (cookie in cookieList) return chain.proceed(request)
|
||||||
|
|
||||||
CookieManager.getInstance().setCookie("https://$domain/", "$cookie; Domain=$domain; Path=/")
|
setCookie("https://$domain/", "$cookie; Domain=$domain; Path=/")
|
||||||
val prefix = "$key="
|
val prefix = "$key="
|
||||||
val newCookie = buildList(cookieList.size + 1) {
|
val newCookie = buildList(cookieList.size + 1) {
|
||||||
cookieList.filterNotTo(this) { it.startsWith(prefix) }
|
cookieList.filterNotTo(this) { it.startsWith(prefix) }
|
||||||
|
@ -33,4 +34,13 @@ class CookieInterceptor(
|
||||||
val newRequest = request.newBuilder().header("Cookie", newCookie).build()
|
val newRequest = request.newBuilder().header("Cookie", newCookie).build()
|
||||||
return chain.proceed(newRequest)
|
return chain.proceed(newRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun setCookie(url: String, value: String) {
|
||||||
|
try {
|
||||||
|
CookieManager.getInstance().setCookie(url, value)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
// Probably running on Tachidesk
|
||||||
|
Log.e("Mangabz", "failed to set cookie", e)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue