Development #47452
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Début:
08 octobre 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/5617/
JSONDecodeError: Expecting value: line 1 column 1 (char 0) (6 additional frame(s) were not displayed) ... File "django/views/generic/base.py", line 88, in dispatch return handler(request, *args, **kwargs) File "combo/apps/lingo/views.py", line 138, in post request_body = json.loads(force_text(self.request.body)) 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 Valentin Deniaud il y a plus de 3 ans
- Fichier 0001-lingo-do-not-crash-when-on-empty-request-body-47452.patch 0001-lingo-do-not-crash-when-on-empty-request-body-47452.patch ajouté
- Tracker changé de Bug à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Ça arrive quand on ne renseigne rien dans les données à envoyer.
Mais est-ce que le bon fix ça serait pas plutôt que wcs envoie du JSON valide dans ce cas, {}, plutôt que rien du tout ? Après tout c'est marqué POST (JSON)...
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
Si tu veux tous les faire d'un coup :
combo/apps/dashboard/views.py: request_body = json.loads(force_text(request.body)) combo/apps/lingo/views.py: request_body = json.loads(force_text(self.request.body)) combo/apps/lingo/views.py: request_body = json.loads(force_text(self.request.body)) combo/apps/pwa/views.py: subscription_data = json.loads(force_text(request.body))
À mon avis il faut tout gérer :
if not request.body: return HttpResponseBadRequest() try: .......... except JSONDecodeError: return HTTPResponseBadRequest()
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Statut changé de Solution proposée à En cours
Mis à jour par Valentin Deniaud il y a plus de 3 ans
- Fichier 0001-apps-do-not-crash-when-request-body-is-not-json-4745.patch 0001-apps-do-not-crash-when-request-body-is-not-json-4745.patch ajouté
- Statut changé de En cours à Solution proposée
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
Ça manque de test.
Mis à jour par Valentin Deniaud il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 7c4856ea2569feb0bbb2b90e040ee77b82f957ec Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Thu Oct 8 12:18:29 2020 +0200 apps: do not crash when request body is not json (#47452)
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
apps: do not crash when request body is not json (#47452)