commit 1603e51f02133ed9f43bc7db010253f874a44160
parent 725973ad9b7b8ea51f6ec23372d55a991593d07f
Author: Sergej Orlov <wladimirych@gmail.com>
Date: Wed, 28 Nov 2018 23:02:48 +0100
[tracks] Handle loadinbg of private strava track #127
Diffstat:
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/lib/leaflet.control.track-list/lib/services/strava.js b/src/lib/leaflet.control.track-list/lib/services/strava.js
@@ -15,17 +15,26 @@ class Strava extends BaseService {
return [
{
url: urlViaCorsProxy(`https://www.strava.com/activities/${trackId}?hl=en-GB`),
- options: {responseType: 'binarystring'}
+ options: {
+ responseType: 'binarystring',
+ isResponseSuccess: (xhr) => (xhr.status === 200 || xhr.status === 404)
+ }
},
{
url: urlViaCorsProxy(`https://www.strava.com/stream/${trackId}?streams%5B%5D=latlng`),
- options: {responseType: 'binarystring'}
+ options: {
+ responseType: 'binarystring',
+ isResponseSuccess: (xhr) => (xhr.status === 200 || xhr.status === 401)
+ }
}];
}
parseResponse(responses) {
let data;
const [pageResponse, trackResponse] = responses;
+ if (trackResponse.status === 401) {
+ return [{error: 'Strava user disabled viewing this track (track is private)'}];
+ }
let name = `Strava ${this.trackId}`;
try {
data = JSON.parse(trackResponse.responseBinaryText);