Bug #39277
Exception: missing amount parameter
0%
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/423/
Exception: missing amount parameter (3 additional frame(s) were not displayed) ... File "django/views/generic/base.py", line 68, in view return self.dispatch(request, *args, **kwargs) File "django/views/decorators/csrf.py", line 58, in wrapped_view return view_func(*args, **kwargs) File "combo/apps/lingo/views.py", line 112, in dispatch return super(AddBasketItemApiView, self).dispatch(*args, **kwargs) File "django/views/generic/base.py", line 88, in dispatch return handler(request, *args, **kwargs) File "combo/apps/lingo/views.py", line 130, in post raise Exception('missing amount parameter') Internal Server Error: /api/lingo/add-basket-item
Ne pas renvoyer Exception mais plutôt HttpResponseBadRequest, pour éviter de lever une 500 qui fait du bruit pour rien.
Vérifier toutes les views (il y a pas mal d'Exception disséminées un peu partout)
Fichiers
Révisions associées
Historique
Mis à jour par Lauréline Guérin il y a environ 4 ans
- Projet changé de Suivi des traces à Passerelle
- Description mis à jour (diff)
Mis à jour par Lauréline Guérin il y a environ 4 ans
- Fichier 0001-lingo-return-HttpResponseBadRequest-instead-of-Excep.patch 0001-lingo-return-HttpResponseBadRequest-instead-of-Excep.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Thomas Noël il y a environ 4 ans
En réfléchissant à cette affaire, je pense qu'on avait mis des «Exceptions» pour justement recevoir des alertes quand de telles réponses arrivent. Je vois pas d'autre raison, et ça me semble plutôt bête.
Je pense que sur AddBasketItemApiView et RemoveBasketItemApiView c'est effectivement mieux de renvoyer des 400, ok pour ta modif.
Cependant sur PaymentView::handle_response, utiliser plutôt PaymentException (ça fera un HttpResponseBadRequest dans CallbackView et un joli message dans ReturnView).
Mis à jour par Lauréline Guérin il y a environ 4 ans
En fait pour les vues qui héritent de PaymentView, seules des urls avec en kwargs regie_pk
ou payment_backend_pk
sont définies; il est en théorie impossible d'arriver là sans l'un ou l'autre argument.
On pourrait laisser Exception, ou remplacer par une assertion
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
Lauréline Guerin a écrit :
En fait pour les vues qui héritent de PaymentView, seules des urls avec en kwargs
regie_pk
oupayment_backend_pk
sont définies; il est en théorie impossible d'arriver là sans l'un ou l'autre argument.
On pourrait laisser Exception, ou remplacer par une assertion
Pour les trucs sensés être impossibles, une assertion c'est très bien.
Mis à jour par Thomas Noël il y a environ 4 ans
Benjamin Dauvergne a écrit :
Lauréline Guerin a écrit :
On pourrait laisser Exception, ou remplacer par une assertion
Pour les trucs sensés être impossibles, une assertion c'est très bien.
Ca me va aussi, dans ma tête assert ça veut vraiment dire "on ne devrait jamais arriver ici"
Mis à jour par Lauréline Guérin il y a environ 4 ans
- Fichier 0001-lingo-return-HttpResponseBadRequest-instead-of-Excep.patch 0001-lingo-return-HttpResponseBadRequest-instead-of-Excep.patch ajouté
voila, avec un assert
Mis à jour par Thomas Noël il y a environ 4 ans
- Statut changé de Solution proposée à En cours
Et en fait non, fait pas faire de assert, ça vient de me revenir (assert c'est ignoré en -O et autres). (cf #19929)
Désolé.
Mis à jour par Lauréline Guérin il y a environ 4 ans
- Fichier 0001-lingo-return-HttpResponseBadRequest-instead-of-Excep.patch 0001-lingo-return-HttpResponseBadRequest-instead-of-Excep.patch ajouté
- Statut changé de En cours à Solution proposée
bon ben la version d'avant alors :)
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Lauréline Guérin il y a environ 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit a188512c5b61d4e8e394f408b50fd2a8b6523ecc Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Mon Jan 27 16:13:43 2020 +0100 lingo: return HttpResponseBadRequest instead of Exception (#39277)
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
lingo: return HttpResponseBadRequest instead of Exception (#39277)