aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaeso <24925519+ptlthg@users.noreply.github.com>2024-10-26 13:32:36 -0400
committerGitHub <noreply@github.com>2024-10-26 19:32:36 +0200
commitf226fc113014dea6c8fcccd7e00d52a610f8f8bc (patch)
tree93ab66d9a281f646e9fca78e666022aab3718b5d
parent1f6b0995cbb82aef2842f4ea4f4019de8864b28d (diff)
downloadSkyHanni-f226fc113014dea6c8fcccd7e00d52a610f8f8bc.tar.gz
SkyHanni-f226fc113014dea6c8fcccd7e00d52a610f8f8bc.tar.bz2
SkyHanni-f226fc113014dea6c8fcccd7e00d52a610f8f8bc.zip
Fix: Catch JSON Parse Errors in APIUtils (#2819)
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/APIUtils.kt13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/APIUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/APIUtils.kt
index f331ab3e3..9524836e4 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/APIUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/APIUtils.kt
@@ -181,9 +181,16 @@ object APIUtils {
private fun readResponse(entity: HttpEntity): JsonObject {
val retSrc = EntityUtils.toString(entity) ?: return JsonObject()
- val parsed = parser.parse(retSrc)
- if (parsed.isJsonNull) return JsonObject()
- return parsed as JsonObject
+
+ try {
+ val parsed = parser.parse(retSrc)
+ if (parsed.isJsonNull) return JsonObject()
+
+ return parsed as JsonObject
+ } catch (_: Throwable) {
+ // This causes content types that aren't JSON to be ignored
+ return JsonObject()
+ }
}
fun postJSONIsSuccessful(url: String, body: String, silentError: Boolean = false): Boolean {