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:
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';