From b7fa6b5fbd50b071043a7ce36d0069607604285f Mon Sep 17 00:00:00 2001 From: CODEX Date: Sat, 20 Jun 2026 19:08:22 +0300 Subject: [PATCH] Detect non JSON BIM API responses --- frontend/dcViewer.js | 14 +++++++++++++- frontend/index.html | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/frontend/dcViewer.js b/frontend/dcViewer.js index 2ec67e1..595f24f 100644 --- a/frontend/dcViewer.js +++ b/frontend/dcViewer.js @@ -3656,12 +3656,21 @@ const formatFetchFailureMessage = (url, res, text, data) => { return (data && (data.message || data.error)) || text || `HTTP ${res.status}`; }; +const formatApiNonJsonMessage = (url, res, text) => { + const status = res?.status ? `HTTP ${res.status}` : "HTTP"; + if (/^\s* { + const apiRequest = isApiRequestUrl(url); let res = null; try { res = await fetch(url, options); } catch (err) { - if (isApiRequestUrl(url)) { + if (apiRequest) { throw new Error(`BIM API недоступен: ${err?.message || "network error"}`); } throw err; @@ -3677,6 +3686,9 @@ const fetchJSON = async (url, options = {}) => { const message = formatFetchFailureMessage(url, res, text, data); throw new Error(message); } + if (apiRequest && text && !data) { + throw new Error(formatApiNonJsonMessage(url, res, text)); + } return data; }; diff --git a/frontend/index.html b/frontend/index.html index 2b27f75..100b5f6 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -570,6 +570,6 @@ - +