Projet

Général

Profil

Development #39491

lingo: request.body semble vide sur un POST x-www-urlencoded

Ajouté par Benjamin Dauvergne il y a environ 4 ans. Mis à jour il y a environ 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
03 février 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Voir #39489, on a les logs nginx suivants :

194.4.7.132 - - [03/Feb/2020:14:35:14 +0100] "POST /lingo/pay HTTP/1.1" 302 0 "https://moncompte.cutm-ea-dev-publik.nfrance.com/tableau-de-bord/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" "moncompte.cutm-ea-dev-publik.nfrance.com" [0.612 ms]
145.242.11.3 - - [03/Feb/2020:14:40:06 +0100] "POST /lingo/callback-payment-backend/5/ HTTP/1.1" 200 0 "-" "Jakarta Commons-HttpClient/3.1" "moncompte.cutm-ea-dev-publik.nfrance.com" [0.260 ms]
194.4.7.132 - - [03/Feb/2020:14:40:23 +0100] "POST /lingo/return-payment-backend/5/Mjc3.1iybsf.9bNfHzZmV6H0FXufYoRcDSVCwt8/?idop=06bc8230-468a-11ea-81d6-0213ad91a103 HTTP/1.1" 302 0 "https://www.tipi.budget.gouv.fr/tpa/retourwl.web?templatename=paiementwsredirect" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" "moncompte.cutm-ea-dev-publik.nfrance.com" [0.362 ms]
194.4.7.132 - - [03/Feb/2020:14:40:24 +0100] "GET /lingo/payment-status?transaction-id=Mjc3.1iybxf.K9SOrQ3JRtFFpm6AH07yCLCw0oE HTTP/1.1" 200 2554 "https://www.tipi.budget.gouv.fr/tpa/retourwl.web?templatename=paiementwsredirect" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" "moncompte.cutm-ea-dev-publik.nfrance.com" [0.145 ms]

qui donnent les logs combo suivants :

Feb  3 14:40:06 cutm-ea-dev-publik uwsgi[6055]: combo INFO moncompte.cutm-ea-dev-publik.nfrance.com 145.242.11.3 - r:7FF096279FD0 received payment response: 'idop=06bc8230-468a-11ea-81d6-0213ad91a103'
Feb  3 14:40:06 cutm-ea-dev-publik uwsgi[6055]: combo INFO moncompte.cutm-ea-dev-publik.nfrance.com 145.242.11.3 b52f22c7aa2b49d49678ee6a66c51a r:7FF096279FD0 received known payment response with id 06bc8230-468a-11ea-81d6-0213ad91a103
Feb  3 14:40:23 cutm-ea-dev-publik uwsgi[6055]: combo INFO moncompte.cutm-ea-dev-publik.nfrance.com 194.4.7.132 b52f22c7aa2b49d49678ee6a66c51a r:7FF0962A4588 received payment response: ''

On dirait que sur un appel à return, la query string est bien récupérée, par contre sur le POST asynchrone, c'est force_text(request.body) qui est passé à self.handle_callback() est c'est vide.


Fichiers

Révisions associées

Révision 5412f0a5 (diff)
Ajouté par Benjamin Dauvergne il y a environ 4 ans

lingo: use query string when request body is empty (#39491)

Some backends (PayFiP WS) put the response in the query string of a
POST.

Historique

#1

Mis à jour par Frédéric Péters il y a environ 4 ans

  • Projet changé de Combo à Lingo
#2

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

Je dis une connerie en fait le POST est bon mais la réponse redirect et reçue en POST aussi :/

#3

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

  • Assigné à mis à Benjamin Dauvergne
#4

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

#5

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

J'ai posé cette modification à la main sur la machine de dév Toulouse j'attends confirmation que ça corrige le souci.

#7

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

C'est validé par Cyril de Toulouse, maintenant on peut réfléchir si ça impacterait un autre backend mais je ne pense pas, si le POST est vide pour les autres backends c'est que quelque chose ne va pas.

#8

Mis à jour par Frédéric Péters il y a environ 4 ans

  • Statut changé de Solution proposée à Solution validée

Ok, un jour peut-être il y aura un jour un fournisseur qui compte à la fois sur le contenu du POST et de la query string, et il faudra faire évoluer la signature de backend.response() pour accepter les deux; mais en attendant, ça va passer ainsi.

#9

Mis à jour par Frédéric Péters il y a environ 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)

Patch poussé pour me permettre de tagguer.

commit 5412f0a58c1b782191af2dc0b6a7ab1ab92bdf93
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Mon Feb 3 15:32:03 2020 +0100

    lingo: use query string when request body is empty (#39491)

    Some backends (PayFiP WS) put the response in the query string of a
    POST.
#10

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

Formats disponibles : Atom PDF