mirror of
https://github.com/mihonapp/mihon.git
synced 2025-06-27 03:27:51 +02:00
31 lines
891 B
Kotlin
31 lines
891 B
Kotlin
package exh.util
|
|
|
|
import com.elvishew.xlog.XLog
|
|
import eu.kanade.tachiyomi.util.asJsoup
|
|
import okhttp3.Response
|
|
import okhttp3.ResponseBody
|
|
import org.jsoup.nodes.Document
|
|
|
|
fun Response.interceptAsHtml(block: (Document) -> Unit): Response {
|
|
val body = body()
|
|
if (body?.contentType()?.type() == "text"
|
|
&& body.contentType()?.subtype() == "html") {
|
|
val bodyString = body.string()
|
|
val rebuiltResponse = newBuilder()
|
|
.body(ResponseBody.create(body.contentType(), bodyString))
|
|
.build()
|
|
try {
|
|
// Search for captcha
|
|
val parsed = asJsoup(html = bodyString)
|
|
block(parsed)
|
|
} catch (t: Throwable) {
|
|
// Ignore all errors
|
|
XLog.w("Interception error!", t)
|
|
} finally {
|
|
close()
|
|
}
|
|
|
|
return rebuiltResponse
|
|
}
|
|
return this
|
|
} |