diff options
| author | Kaeso <24925519+ptlthg@users.noreply.github.com> | 2024-10-26 13:32:36 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-26 19:32:36 +0200 |
| commit | f226fc113014dea6c8fcccd7e00d52a610f8f8bc (patch) | |
| tree | 93ab66d9a281f646e9fca78e666022aab3718b5d | |
| parent | 1f6b0995cbb82aef2842f4ea4f4019de8864b28d (diff) | |
| download | SkyHanni-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.kt | 13 |
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 { |
