Projet

Général

Profil

Development #38637

toulouse axel: en cas d'erreur sur getdata, conserver le xml envoyé

Ajouté par Thomas Noël il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
19 décembre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Révision cab730d8 (diff)
Ajouté par Lauréline Guérin il y a plus de 4 ans

toulouse_axel: return xml request and responses into responses (#38637)

Historique

#1

Mis à jour par Lauréline Guérin il y a plus de 4 ans

  • Assigné à mis à Lauréline Guérin
#2

Mis à jour par Lauréline Guérin il y a plus de 4 ans

Voila :)
Thomas: ça fait un peu too much ?

#3

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.

#4

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)
#5

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

Formats disponibles : Atom PDF