From 6d5792620931ce027c7624b16d0b3d47422b1394 Mon Sep 17 00:00:00 2001 From: Areeb <011235813phantom@gmail.com> Date: Mon, 19 Jan 2026 00:52:23 +0530 Subject: [PATCH] Check response.ok before parsing JSON in query tool - Added a if-else to check response.ok before parsing JSON in query tool - Same as it was done in data.js - Added "ok:true" in test stub --- app/assets/javascripts/index/query.js | 7 ++++++- test/system/query_features_test.rb | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/index/query.js b/app/assets/javascripts/index/query.js index 3a41e7967..5c4f9e9eb 100644 --- a/app/assets/javascripts/index/query.js +++ b/app/assets/javascripts/index/query.js @@ -171,7 +171,12 @@ OSM.Query = function (map) { credentials: OSM.OVERPASS_CREDENTIALS ? "include" : "same-origin", signal: $section.data("ajax").signal }) - .then(response => response.json()) + .then(response => { + if (response.ok) { + return response.json(); + } + throw new Error(response.statusText || response.status); + }) .then(function (results) { let elements = results.elements; diff --git a/test/system/query_features_test.rb b/test/system/query_features_test.rb index 12a8b4b70..2f63934e4 100644 --- a/test/system/query_features_test.rb +++ b/test/system/query_features_test.rb @@ -214,6 +214,7 @@ class QueryFeaturesSystemTest < ApplicationSystemTestCase elements = data.includes("is_in") ? #{enclosing_elements.to_json} : #{nearby_elements.to_json}; return Promise.resolve({ + ok: true, json: () => Promise.resolve({ elements }) }); } -- 2.39.5