diff --git a/lib/hosters.js b/lib/hosters.js index 367e857..c4ac3c3 100644 --- a/lib/hosters.js +++ b/lib/hosters.js @@ -281,11 +281,11 @@ async function apiGet(url, signal) { signal: controller.signal, redirect: 'follow' }); + const text = await res.text(); let data; try { - data = await res.json(); + data = JSON.parse(text); } catch { - const text = await res.text().catch(() => ''); throw new Error(`API-Antwort war kein JSON (HTTP ${res.status}): ${(text || '').slice(0, 200)}`); } diff --git a/lib/updater.js b/lib/updater.js index 1dfbd7c..3f9b725 100644 --- a/lib/updater.js +++ b/lib/updater.js @@ -65,7 +65,12 @@ async function fetchJson(url, signal) { signal: controller.signal, redirect: 'follow' }); - return await res.json(); + const text = await res.text(); + try { + return JSON.parse(text); + } catch { + throw new Error(`Update-Server Antwort war kein JSON (HTTP ${res.status}): ${text.slice(0, 200)}`); + } } finally { clearTimeout(timeout); if (signal) signal.removeEventListener('abort', onAbort);