Development #32224
créer une nouvelle API guess() sur les backends pour permettre de détecter un backend depuis une réponse
0%
Description
Voir #32194, à vrai dire ça pourrait être simplement la méthode .response() qui émettrait une exception NotForMe propre.
Fichiers
Demandes liées
Révisions associées
misc: remove dead code (#32224)
add a method to guess transaction_id and backend from an HTTP response (#32224)
Historique
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Lié à Development #32194: Paiement : transaction à validation manuelle sur payzen ajouté
Mis à jour par Emmanuel Cazenave il y a environ 5 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Emmanuel Cazenave
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
- Assigné à changé de Emmanuel Cazenave à Benjamin Dauvergne
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
- Fichier 0003-add-a-method-to-guess-transaction_id-and-backend-fro.patch 0003-add-a-method-to-guess-transaction_id-and-backend-fro.patch ajouté
- Fichier 0001-misc-remove-references-to-sips-32224.patch 0001-misc-remove-references-to-sips-32224.patch ajouté
- Fichier 0002-misc-remove-dead-code-32224.patch 0002-misc-remove-dead-code-32224.patch ajouté
- Statut changé de En cours à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Emmanuel Cazenave il y a presque 2 ans
- Planning mis à Non
Pour faciliter la compréhension, c'est quoi le cas d'usage ?
La description mentionne #32194 qui fait 4 km de long et a débouché sur autre chose que qui est proposé ici, donc ça n'aide pas à comprendre.
Mis à jour par Frédéric Péters il y a presque 2 ans
Via #56697 qui a été fermé pour se concentrer ici, dans celui-là je décrivais la situation :
Ça vient de moments de grandes confusions de transfert prod/régie avec des URL à mentionner et des mélanges d'id de régie et de systèmes de paiement; l'idée derrière est de s'éviter ça en permettant de retrouver le nécessaire sur la seule base de l'id de transaction. (ce ticket fait partie d'une série, dont #56647, créés après l'incident, pour améliorer les choses).
Mis à jour par Emmanuel Cazenave il y a presque 2 ans
- Statut changé de Solution proposée à Solution validée
transaction_id = backend.guess( method=method, query_string=query_string, body=body, headers=headers )
Je mettrais ça dans un try/except.
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
- Fichier 0003-add-a-method-to-guess-transaction_id-and-backend-fro.patch 0003-add-a-method-to-guess-transaction_id-and-backend-fro.patch ajouté
- Fichier 0001-misc-remove-references-to-sips-32224.patch 0001-misc-remove-references-to-sips-32224.patch ajouté
- Fichier 0004-wip.patch 0004-wip.patch ajouté
- Fichier 0002-misc-remove-dead-code-32224.patch 0002-misc-remove-dead-code-32224.patch ajouté
- Statut changé de Solution validée à Solution proposée
Patch "wip" pour implémenter l'idée de manu, ce serait effectivement dommage de casse un backend depuis un autre (mais le paramètre backends est sensé être là pour ça).
Donc ici, j'intercepte les exceptions, et si je ne trouve pas de transaction_id, je relance la dernière sinon BackendNotFound.
Mis à jour par Emmanuel Cazenave il y a presque 2 ans
- Statut changé de Solution proposée à Solution validée
J'étais sur l'idée toute simple qu'un appel à whateverbackend.guess pourrait planter en cas de réponse farfelue, et de ne pas tout planter là dessus.
Mais relire les divers guess
, ils me paraissent assez défensifs comme ça, laisse tomber ma remarque.
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
- Bloqué par Development #66737: lingo: retirer la référence à SIPS ajouté
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 7b73275f7090d8c9526f9548434df94c45416b77 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Jun 24 13:04:41 2022 +0200 add a method to guess transaction_id and backend from an HTTP response (#32224) commit fe27aeb4e5065f7cc98aeb4244ee3a4eca88c383 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Jun 24 13:04:39 2022 +0200 misc: remove dead code (#32224) commit 02d1238761602d9052d187e35c3cb278e24aaee9 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Jun 24 11:38:00 2022 +0200 misc: remove references to sips (#32224) It broke get_backends().
Mis à jour par Transition automatique il y a presque 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: remove references to sips (#32224)
It broke get_backends().