Ignore malformed domains while ops with cookies

pull/38/head
Koitharu 4 years ago
parent 1f5d02ddb0
commit 941cc61577
No known key found for this signature in database
GPG Key ID: 8E861F8CE6E7CE27

@ -11,7 +11,7 @@ internal class ReadmangaParser(
) : GroupleParser(MangaSource.READMANGA_RU, "readmangafun", 1) { ) : GroupleParser(MangaSource.READMANGA_RU, "readmangafun", 1) {
override val configKeyDomain = ConfigKey.Domain( override val configKeyDomain = ConfigKey.Domain(
"readmanga.io", "readmanga.live",
arrayOf("readmanga.io", "readmanga.live", "readmanga.me"), arrayOf("readmanga.io", "readmanga.live", "readmanga.me"),
) )

@ -9,10 +9,7 @@ import okhttp3.HttpUrl
private const val SCHEME_HTTPS = "https" private const val SCHEME_HTTPS = "https"
fun CookieJar.insertCookies(domain: String, vararg cookies: String) { fun CookieJar.insertCookies(domain: String, vararg cookies: String) {
val url = HttpUrl.Builder() val url = safeUrlOf(domain) ?: return
.scheme(SCHEME_HTTPS)
.host(domain)
.build()
saveFromResponse( saveFromResponse(
url, url,
cookies.mapNotNull { cookies.mapNotNull {
@ -22,18 +19,12 @@ fun CookieJar.insertCookies(domain: String, vararg cookies: String) {
} }
fun CookieJar.insertCookie(domain: String, cookie: Cookie) { fun CookieJar.insertCookie(domain: String, cookie: Cookie) {
val url = HttpUrl.Builder() val url = safeUrlOf(domain) ?: return
.scheme(SCHEME_HTTPS)
.host(domain)
.build()
saveFromResponse(url, listOf(cookie)) saveFromResponse(url, listOf(cookie))
} }
fun CookieJar.getCookies(domain: String): List<Cookie> { fun CookieJar.getCookies(domain: String): List<Cookie> {
val url = HttpUrl.Builder() val url = safeUrlOf(domain) ?: return emptyList()
.scheme(SCHEME_HTTPS)
.host(domain)
.build()
return loadForRequest(url) return loadForRequest(url)
} }
@ -48,3 +39,12 @@ fun CookieJar.copyCookies(oldDomain: String, newDomain: String, names: Array<Str
url.host(newDomain) url.host(newDomain)
saveFromResponse(url.build(), cookies) saveFromResponse(url.build(), cookies)
} }
private fun safeUrlOf(domain: String): HttpUrl? = try {
HttpUrl.Builder()
.scheme(SCHEME_HTTPS)
.host(domain)
.build()
} catch (_: IllegalArgumentException) {
null
}
Loading…
Cancel
Save