Bug #3912
Le décorateur to_json cache les exceptions
100%
Description
Il faudrait faire la différence entre des exceptions internes et externes, par défaut il faudrait renvoyer un traceback pour toute en plus du retour d'erreur JSON. Ã moins une extension locale de to_json ferait l'affaire.
Fichiers
Révisions associées
Historique
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 10 ans
Dans passerelle.utils
je redéfinis to_json
afin qu'il sérialize les datetime
.
Je pense qu'en ajoutant la méthode api
tu pourrais afficher les tracebacks
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 10 ans
Un patch null
Mis à jour par Benjamin Dauvergne il y a plus de 10 ans
- Assigné à changé de Benjamin Dauvergne à Serghei Mihai (congés, retour 15/05)
Cool un volontaire :)
Mais raise ça fait un traceback ou ça log un traceback puis ça continue le traitement normalement ? Je veux juste le log pas que ça casse le retour json.
Mais bon c'est un début ce serait cool ensuite de pouvoir désigner une liste de classes qui doivent être ignorée et simplement renvoyé comme une erreur JSON, exemple ChoositError
. Ça ferait:
@to_json('api', throws=(ChoositError,)) def view() ...
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 10 ans
Par défaut ça n'affiche pas le traceback mais affiche juste le message de l'exception avec la clef "err": 1
dans le json. L'appli peut ainsi continuer de fonctionner.
Du coup le throws
devait plutôt spécifier la liste des exceptions à raiser.
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 10 ans
- Fichier 0001-customized-to_json-decorator-raises-specified-except.patch ajouté
j'ai renommé l'argument proposant la liste d'exceptions à declencher en raise
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 10 ans
- Fichier
0001-customized-to_json-decorator-raises-specified-except.patchsupprimé
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 10 ans
- Fichier 0001-customized-to_json-decorator-raises-specified-except.patch 0001-customized-to_json-decorator-raises-specified-except.patch ajouté
renommage du parametre en raises et refactoring de la fonction.
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 10 ans
- Statut changé de Nouveau à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit e96c90d25a920fee3182df8747d0420dd1061356.
Mis à jour par Benjamin Dauvergne il y a plus de 9 ans
- Statut changé de Résolu (à déployer) à Fermé
act naturally if 'raise' parameter passed via GET
Closes #3912