Custom Cloudflare failure exception to avoid user-facing "java.lang.Exception" text
This commit is contained in:
parent
dbb2c523c1
commit
938339690e
@ -77,9 +77,12 @@ class CloudflareInterceptor(private val context: Context) : Interceptor {
|
|||||||
resolveWithWebView(originalRequest, oldCookie)
|
resolveWithWebView(originalRequest, oldCookie)
|
||||||
|
|
||||||
return chain.proceed(originalRequest)
|
return chain.proceed(originalRequest)
|
||||||
|
}
|
||||||
|
// Because OkHttp's enqueue only handles IOExceptions, wrap the exception so that
|
||||||
|
// we don't crash the entire app
|
||||||
|
catch (e: CloudflareBypassException) {
|
||||||
|
throw IOException(context.getString(R.string.information_cloudflare_bypass_failure))
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
// Because OkHttp's enqueue only handles IOExceptions, wrap the exception so that
|
|
||||||
// we don't crash the entire app
|
|
||||||
throw IOException(e)
|
throw IOException(e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -171,7 +174,7 @@ class CloudflareInterceptor(private val context: Context) : Interceptor {
|
|||||||
context.toast(R.string.information_webview_outdated, Toast.LENGTH_LONG)
|
context.toast(R.string.information_webview_outdated, Toast.LENGTH_LONG)
|
||||||
}
|
}
|
||||||
|
|
||||||
throw Exception(context.getString(R.string.information_cloudflare_bypass_failure))
|
throw CloudflareBypassException()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -181,3 +184,5 @@ class CloudflareInterceptor(private val context: Context) : Interceptor {
|
|||||||
private val COOKIE_NAMES = listOf("cf_clearance")
|
private val COOKIE_NAMES = listOf("cf_clearance")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class CloudflareBypassException : Exception()
|
||||||
|
Loading…
Reference in New Issue
Block a user