diff --git a/src/pt/argosscan/build.gradle b/src/pt/argosscan/build.gradle index f798556a3..2343dfcbc 100644 --- a/src/pt/argosscan/build.gradle +++ b/src/pt/argosscan/build.gradle @@ -6,7 +6,7 @@ ext { extName = 'Argos Scan' pkgNameSuffix = 'pt.argosscan' extClass = '.ArgosScan' - extVersionCode = 17 + extVersionCode = 18 } dependencies { diff --git a/src/pt/argosscan/src/eu/kanade/tachiyomi/extension/pt/argosscan/ArgosScan.kt b/src/pt/argosscan/src/eu/kanade/tachiyomi/extension/pt/argosscan/ArgosScan.kt index 948cd0a1a..9dad4cb9b 100644 --- a/src/pt/argosscan/src/eu/kanade/tachiyomi/extension/pt/argosscan/ArgosScan.kt +++ b/src/pt/argosscan/src/eu/kanade/tachiyomi/extension/pt/argosscan/ArgosScan.kt @@ -294,6 +294,13 @@ class ArgosScan : HttpSource(), ConfigurableSource { if (!email.isNullOrEmpty() && !password.isNullOrEmpty() && token.isNullOrEmpty()) { val loginResponse = chain.proceed(loginRequest(email, password)) + + if (!loginResponse.headers["Content-Type"].orEmpty().contains("application/json")) { + loginResponse.close() + + throw IOException(CLOUDFLARE_ERROR) + } + val loginResult = json.parseToJsonElement(loginResponse.body!!.string()).jsonObject if (loginResult["errors"] != null) { @@ -356,6 +363,7 @@ class ArgosScan : HttpSource(), ConfigurableSource { private const val PASSWORD_PREF_SUMMARY = "Defina a senha de sua conta no site." private const val PASSWORD_PREF_DIALOG = EMAIL_PREF_DIALOG + private const val CLOUDFLARE_ERROR = "Falha ao contornar o Cloudflare." private const val REQUEST_ERROR = "Erro na requisição. Tente novamente mais tarde." private val JSON_MEDIA_TYPE = "application/json; charset=utf-8".toMediaTypeOrNull()