Development #13592
gérer les paramètres en entrée de l'API en unicode
0%
Description
Surtout quand ils comportent des accents.
Fichiers
Demandes liées
Révisions associées
tests: make sure API handles unicode input params (#13592)
Historique
Mis à jour par Serghei Mihai il y a plus de 7 ans
- Fichier 0001-make-sure-api-handles-unicode-input-params-13592.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Mise à jour des tests ainsi qu'une correction dans le backend Ogone.
Mis à jour par Serghei Mihai il y a plus de 7 ans
- Lié à Bug #13562: systempayv2: problème d'encodage des prénoms/noms ajouté
Mis à jour par Serghei Mihai il y a plus de 7 ans
- Fichier
0001-make-sure-api-handles-unicode-input-params-13592.patchsupprimé
Mis à jour par Serghei Mihai il y a plus de 7 ans
- Fichier 0001-ogone-handle-properly-unicode-params-13592.patch 0001-ogone-handle-properly-unicode-params-13592.patch ajouté
- Fichier 0002-tests-make-sure-API-handles-unicode-input-params-135.patch 0002-tests-make-sure-API-handles-unicode-input-params-135.patch ajouté
en 2 patch séparés.
Mis à jour par Benjamin Dauvergne il y a plus de 7 ans
Dans le backend Ogone:
values = ['%s=%s' % (a, b) for a, b in values if a in keep]
Ça va chier si a ou b contiennent des accents et sont en unicode.
Tu devrais ajouter des chaînes avec accent dans les tests (en UTF-8 ou en unicode, pour voir).
Mis à jour par Serghei Mihai il y a plus de 7 ans
- Fichier 0001-ogone-handle-properly-unicode-params-13592.patch 0001-ogone-handle-properly-unicode-params-13592.patch ajouté
Yep, je viens de rajouter la conversion en utf-8 et des paramètres en unicode avec des accents.
Mis à jour par Benjamin Dauvergne il y a plus de 7 ans
Je n'ai pas été clair: '%s=%s' % (a, b)
va foirer si a ou b sont unicode avec des accents, il faut écrire u'%s=%s' % (a, b)
.
Mis à jour par Serghei Mihai il y a plus de 7 ans
- Fichier 0001-ogone-handle-properly-unicode-params-13592.patch 0001-ogone-handle-properly-unicode-params-13592.patch ajouté
a
et b
sont des chaînes en utf-8 car passées par le code du #13624, donc soit faut les passer en unicode avec force_text
avant.
Patch à jour.
Mis à jour par Benjamin Dauvergne il y a plus de 7 ans
Désolé je ne comprends pas pourquoi il y a de l'UTF-8 on a dit qu'on ne devait avoir que de l'Unicode.
Mis à jour par Serghei Mihai il y a plus de 7 ans
- Fichier 0001-ogone-handle-properly-unicode-params-13592.patch 0001-ogone-handle-properly-unicode-params-13592.patch ajouté
C'est moi qui s'est melé les pinceaux.
Le backend Ogone convertit les parametres en utf-8 avant le calcul de la signature alors qu'il doit le faire après, vue que la signature est calculée à partir de la chaîne en utf-8 de tous les paramètres concatenées.
Mis à jour par Serghei Mihai il y a plus de 7 ans
- Statut changé de En cours à Résolu (à déployer)
commit 0432124e0a93c25a6217c265fabd436c5e4ba9cb Author: Serghei Mihai <smihai@entrouvert.com> Date: Thu Oct 13 16:59:10 2016 +0200 tests: make sure API handles unicode input params (#13592) commit d6b80acd0241d31788abc9240ebc65b9f97e6335 Author: Serghei Mihai <smihai@entrouvert.com> Date: Thu Oct 20 16:57:28 2016 +0200 ogone: handle properly unicode params (#13592)
ogone: handle properly unicode params (#13592)