From f226fc113014dea6c8fcccd7e00d52a610f8f8bc Mon Sep 17 00:00:00 2001 From: Kaeso <24925519+ptlthg@users.noreply.github.com> Date: Sat, 26 Oct 2024 13:32:36 -0400 Subject: Fix: Catch JSON Parse Errors in APIUtils (#2819) --- src/main/java/at/hannibal2/skyhanni/utils/APIUtils.kt | 13 ++++++++++--- 1 file 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 { -- cgit