Bug #53521
crash sur réponse geojson invalide
0%
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/40697/
JSONDecodeError: Expecting value: line 1 column 1 (char 0) (6 additional frame(s) were not displayed) ... File "combo/apps/maps/models.py", line 230, in get_geojson data = response.json() File "requests/models.py", line 897, in json return complexjson.loads(self.text, **kwargs) File "__init__.py", line 348, in loads return _default_decoder.decode(s) File "json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a presque 3 ans
- Projet changé de Suivi des traces à Combo
- Sujet changé de JSONDecodeError: Expecting value: line 1 column 1 (char 0) à crash sur réponse geojson invalide
Requête vers https://places-parkings.quimper-communaute.bzh/WebServiceInfosGeolocFront.asmx/GetGeoJsonListDysplayItemByType?type=retraitsmasques qui retourne ces jours-ci une réponse vide.
En cas de réponse invalide, on devrait sans doute juste ignorer. (marquer les cellules qui utilisent cette couche carto comme invalides ça me semble compliqué, faut s'assurer qu'il n'y ait pas d'autre couche configurée etc.).
Mis à jour par Lauréline Guérin il y a presque 3 ans
- Fichier 0001-map-don-t-fail-on-invalid-geojson-data-53521.patch 0001-map-don-t-fail-on-invalid-geojson-data-53521.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
return []
comme en cas de mauvais status_code
Ca a l'air de fonctionner, mais ça serait pas mieux de renvoyer {'type': 'FeatureCollection', 'features': []}
?
Mis à jour par Thomas Noël il y a presque 3 ans
Lauréline Guerin a écrit :
Ca a l'air de fonctionner, mais ça serait pas mieux de renvoyer
{'type': 'FeatureCollection', 'features': []}
?
Yep. Et je n'ai pas regardé la norme GeoJSON mais si on avait l'espace pour ajouter un log/commentaire ça serait bien d'y dire "je ne dirais pas que c'est un échec mais ça n'a pas marché, et donc c'est vide" (qu'on pourrait ainsi apercevoir via F12)
Mis à jour par Thomas Noël il y a presque 3 ans
Thomas Noël a écrit :
Lauréline Guerin a écrit :
Ca a l'air de fonctionner, mais ça serait pas mieux de renvoyer
{'type': 'FeatureCollection', 'features': []}
?Yep. Et je n'ai pas regardé la norme GeoJSON mais si on avait l'espace pour ajouter un log/commentaire ça serait bien d'y dire "je ne dirais pas que c'est un échec mais ça n'a pas marché, et donc c'est vide" (qu'on pourrait ainsi apercevoir via F12)
A priori on pourrait se permettre, selon https://tools.ietf.org/html/rfc7946#section-6 :
{'type': 'FeatureCollection', 'features': [], '_combo_err_desc': "l'URL interrogé n'a pas renvoyé un document JSON"}
Mis à jour par Lauréline Guérin il y a presque 3 ans
Mis à jour par Thomas Noël il y a presque 3 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Lauréline Guérin il y a presque 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit ea21ad5b00548d24023d91eaa081572006f78bd6 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Thu Apr 29 09:45:32 2021 +0200 map: don't fail on invalid geojson data (#53521)
Mis à jour par Frédéric Péters il y a presque 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
map: don't fail on invalid geojson data (#53521)