Development #38637
toulouse axel: en cas d'erreur sur getdata, conserver le xml envoyé
0%
Description
Sur les Operation on pourrait, lors du call, conserver les données envoyées à getData et la réponse reçue, en "xml brut", pour pouvoir les renvoyer dans les endpoints en vue de débogages.
C'est assez simple en cas d'erreur : ajouter des attributs xml_request/xml_response sur AxelError qui seront utilisables pour générer des données dans les APIError. Ca donnera dans Operation des
raise AxelError(msg, xml_request=truc, xml_response=chose)
et dans les appels, des
except AxelError as e: raise APIError('%s' % e, err_code=..., data={'xml_request': e.xml_request, 'xml_response': e.xml_response)
Ca serait sympa d'avoir aussi ces données lors d'une requête réussie (parce qu'elle aura peut-être réussie techniquement mais que les données ne sont pas bonnes). Pour cela, au lieu d'envoyer le json brut :
- return self.response_converter.decode(ET.fromstring(result)) + json_result = self.response_converter.decode(xml_result) + json_result['_xml_request'] = serialized_request + json_result['_xml_response'] = xml_result + return json_result
mais je pense que modifier json_result ça peut mettre la pagaille (quand on le re-xmlise ensuite sur un updatedui), et je sais pas si on a toujours un dico.
Peut-être plus "classiquement" :
- return self.response_converter.decode(ET.fromstring(result)) + return self.response_converter.decode(xml_result), serialized_request, xml_result
ce qui demande de modifier les appels aux Operation mais c'est pas bien méchant
Fichiers
Révisions associées
Historique
Mis à jour par Lauréline Guérin il y a plus de 4 ans
- Fichier 0001-toulouse_axel-return-xml-request-and-responses-into-.patch 0001-toulouse_axel-return-xml-request-and-responses-into-.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Voila :)
Thomas: ça fait un peu too much ?
Mis à jour par Thomas Noël il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
Lauréline Guerin a écrit :
Voila :)
Thomas: ça fait un peu too much ?
Ouaip c'est beaucoup mais ça va vraiment aider à la vie des admins fonctionnels alors go.
Mis à jour par Lauréline Guérin il y a plus de 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit cab730d86785c4a12e4b528cbbc6e7c3e76cd918 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Thu Dec 19 16:52:41 2019 +0100 toulouse_axel: return xml request and responses into responses (#38637)
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
toulouse_axel: return xml request and responses into responses (#38637)