Projet

Général

Profil

Bug #68622

Faire que le connecteur BAN ne relaye pas les requêtes qui ne contiennent pas de caractère

Ajouté par Sentry Io il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
01 septembre 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

https://sentry.entrouvert.org/entrouvert/gplexpert/issues/89859/

GET https://api-adresse.data.gouv.fr/search/?q=%22+&limit=5 (=> 500)

Historique

#1

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).

#2

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
#4

Mis à jour par Nicolas Roche il y a plus d'un an

  • Assigné à Benjamin Dauvergne supprimé
#5

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...

#6

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'

#7

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Statut changé de Rejeté à Nouveau
#8

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à.

#9

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.

Formats disponibles : Atom PDF