Bug #68622
Faire que le connecteur BAN ne relaye pas les requêtes qui ne contiennent pas de caractère
0%
Description
https://sentry.entrouvert.org/entrouvert/gplexpert/issues/89859/
GET https://api-adresse.data.gouv.fr/search/?q=%22+&limit=5 (=> 500)
Historique
Mis à jour par Thomas Noël il y a plus d'un an
- Statut changé de Nouveau à Rejeté
C'est un bogue sur la BAN, on ne fera rien (ou alors leur faire un ticket, mais comme ils ont zéro dev sur le sujet, c'est du temps perdu).
Mis à jour par Nicolas Roche il y a plus d'un an
- Projet changé de Suivi des traces à Passerelle
- Sujet changé de GET https://api-adresse.data.gouv.fr/search/?q=%22+&limit=5 (=> 500) à Faire que le connecteur BAN ne relaye pas les requêtes qui ne contiennent pas de caractère
- Assigné à mis à Benjamin Dauvergne
Mis à jour par Thomas Noël il y a plus d'un an
- Assigné à mis à Nicolas Roche
La BAN est parfaitement capable de planter à n'importe quel moment, genre cette trace https://sentry.entrouvert.org/entrouvert/gplexpert/issues/82775 :
GET https://api-adresse.data.gouv.fr/search/?q=25+rue+duquesn&limit=5 (=> 500)
J'en vois assez peu. Considérons que c'est anecdotique et qu'il n'y a rien de spécial à faire ici.
Si on pense le contraire, voir comment on pourra ne pas remonter les 500 jusqu'à Sentry (mais continuer les 4xx 5xx etc). Je ne sais pas si on peut faire ça dans notre framework actuel de request...
Mis à jour par Benjamin Dauvergne il y a plus d'un an
Je pense qu'on peut se permettre un nettoyage de la chaîne avant envoie puis un strip(), et ignorer les résultats vides ensuite. Parce que c'est un caractère de contrôle en plus ici, %22, mais j'ai testé %20{1,...} ça plante à chaque fois aussi. Effectivement la BAN plante pour rien tout le temps, c'est pas la peine d'en rajouter avec trucs qui sortent visiblement des chaînes acceptées.
Genre ça ?
>>> re.sub(' +', ' ', re.sub('[^a-zàâçéèêëîïôûùüÿñæœ-]', ' ', ' \u0016rue \u0016truc+-muche', flags=re.I)).strip() 'rue truc -muche'
Mis à jour par Thomas Noël il y a plus d'un an
Effectivement c'est facile d'avoir des 500, je n'avais jamais constaté (peut-être une régression chez eux).
Pour prendre l'affaire autrement, on pourrait ne contacter la BAN que si "q" contient au moins une lettre ou un chiffre, et voilà.
Mis à jour par Thomas Noël il y a plus d'un an
- Statut changé de Nouveau à Rejeté
Remplacé par #69865 où on constate qu'il faut au moins 3 caractères, de toute façon.