nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

commit bd9f2533a422b2990a3731579c22b4af6f368463
parent 440de63d98b1d8443489172b00f48e775b2fb7bb
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Fri, 25 Apr 2025 08:49:18 +0200

tracks: update handling of non-existent tracks in Tracedetrail

Diffstat:
Msrc/lib/leaflet.control.track-list/lib/services/tracedetrail.js | 8++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/lib/leaflet.control.track-list/lib/services/tracedetrail.js b/src/lib/leaflet.control.track-list/lib/services/tracedetrail.js @@ -12,18 +12,22 @@ class Tracedetrail extends BaseService { requestOptions() { return [{ url: urlViaCorsProxy(this.origUrl), + options: { + isResponseSuccess: (xhr) => [200, 500].includes(xhr.status), + }, }]; } parseResponse(responses) { const trackId = this.urlRe.exec(this.origUrl)[1]; let name = `Tracedetrail track ${trackId}`; - const documentText = responses[0].responseText; + const response = responses[0]; + const documentText = response.responseText; try { const geometryMatch = /geometry\s*:\s*"(.+)",\n/u.exec(documentText); if (!geometryMatch) { let error = 'UNSUPPORTED'; - if (documentText.includes("track doesn't exist")) { + if (documentText.includes("track doesn't exist") || response.status === 500) { error = '{name} was deleted or did not exist'; } else if (documentText.includes('Private track')) { error = '{name} is private';