From 58652bbf760af409cd0f6bfb713ee60366ca356a Mon Sep 17 00:00:00 2001 From: Vetle Ledaal Date: Mon, 1 Aug 2022 13:45:25 +0000 Subject: [PATCH] Fix possible crash: only throw IOException in intecept (#12835) --- src/en/koushoku/build.gradle | 2 +- .../tachiyomi/extension/en/koushoku/Koushoku.kt | 5 +---- .../en/koushoku/KoushokuWebViewInterceptor.kt | 14 ++++++++------ 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/en/koushoku/build.gradle b/src/en/koushoku/build.gradle index 982e9282a..6fd6da9eb 100644 --- a/src/en/koushoku/build.gradle +++ b/src/en/koushoku/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Koushoku' pkgNameSuffix = 'en.koushoku' extClass = '.Koushoku' - extVersionCode = 11 + extVersionCode = 12 isNsfw = true } diff --git a/src/en/koushoku/src/eu/kanade/tachiyomi/extension/en/koushoku/Koushoku.kt b/src/en/koushoku/src/eu/kanade/tachiyomi/extension/en/koushoku/Koushoku.kt index 6bbfd7b96..3a7d96188 100644 --- a/src/en/koushoku/src/eu/kanade/tachiyomi/extension/en/koushoku/Koushoku.kt +++ b/src/en/koushoku/src/eu/kanade/tachiyomi/extension/en/koushoku/Koushoku.kt @@ -43,7 +43,6 @@ class Koushoku : ParsedHttpSource() { override fun headersBuilder(): Headers.Builder = super.headersBuilder() .set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36") - .add("Origin", baseUrl) .add("Referer", "$baseUrl/") override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/?page=$page", headers) @@ -147,8 +146,6 @@ class Koushoku : ParsedHttpSource() { status = SManga.COMPLETED } - override fun chapterListRequest(manga: SManga) = GET("$baseUrl${manga.url}", headers) - override fun chapterListParse(response: Response): List { val document = response.asJsoup() @@ -167,7 +164,7 @@ class Koushoku : ParsedHttpSource() { override fun chapterListSelector() = throw UnsupportedOperationException("Not used") - override fun pageListRequest(chapter: SChapter) = GET("$baseUrl${chapter.url}/1") + override fun pageListRequest(chapter: SChapter) = GET("$baseUrl${chapter.url}/1", headers) override fun pageListParse(document: Document): List { val totalPages = document.selectFirst(".total").text().toInt() diff --git a/src/en/koushoku/src/eu/kanade/tachiyomi/extension/en/koushoku/KoushokuWebViewInterceptor.kt b/src/en/koushoku/src/eu/kanade/tachiyomi/extension/en/koushoku/KoushokuWebViewInterceptor.kt index 93e925bc8..78fc23d1e 100644 --- a/src/en/koushoku/src/eu/kanade/tachiyomi/extension/en/koushoku/KoushokuWebViewInterceptor.kt +++ b/src/en/koushoku/src/eu/kanade/tachiyomi/extension/en/koushoku/KoushokuWebViewInterceptor.kt @@ -4,7 +4,6 @@ import android.annotation.SuppressLint import android.app.Application import android.os.Handler import android.os.Looper -import android.util.Log import android.webkit.WebView import android.webkit.WebViewClient import okhttp3.Interceptor @@ -21,11 +20,14 @@ class KoushokuWebViewInterceptor : Interceptor { val request = chain.request() val response = chain.proceed(request) - val responseBody = response.peekBody(1 * 1024 * 1024).toString() - val document = Jsoup.parse(responseBody) - if (document.selectFirst("h1")?.text()?.contains(Regex("banned$")) == true) { - throw Exception("You have been banned. Check WebView for details.") - } else if (response.headers("Content-Type").any { it.contains("text/html") }) { + if (response.headers("Content-Type").any { it.contains("text/html") }) { + val responseBody = response.peekBody(1 * 1024 * 1024).toString() + val document = Jsoup.parse(responseBody) + + if (document.selectFirst("h1")?.text()?.contains(Regex("banned$")) == true) { + throw IOException("You have been banned. Check WebView for details.") + } + try { proceedWithWebView(response) } catch (e: Exception) {