Bug #51263
Les erreurs 405 sur les méthodes (PUT, PATCH...) non prises en charge par les endpoints ne sont pas remontées à l'appelant.
Début:
18 février 2021
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Par exemple :
$ curl -X POST https://passerelle.dev.publik.love/ovh/test/send {"err": 1, ... $ curl -X PATCH https://passerelle.dev.publik.love/ovh/test/send -v < HTTP/1.1 405 Method Not Allowed
Dans le second cas on fini dans :
def perform(self, request, *args, **kwargs): if request.method.lower() not in self.endpoint.endpoint_info.methods: return self.http_method_not_allowed(request, *args, **kwargs)
Ce qui ne logue rien dans l'IHM de passerelle et la réponse (vide) est remonté dans WCS comme un appel réussit (err==0) :
imposition_app_error_code: 0 (<class 'int'>) imposition_status: 405 (<class 'int'>) imposition_time: 2021-02-18T16:14:37.306445
Rq: l'erreur reportée ici provient d'un autre connecteur et a été provoquée par un workflow (où Brice à ripé sur la configuration de la méthode, parce que si l'on clique à droite du bouton radio la modification est prise en compte) et qui fait sensiblement la même chose que l'exemple que j'ai donné plus haut pour simplifier :
$ curl -X PATCH 'https://passerelle.dev.publik.love/solis-afi-mss/recette/declare-tax' --data '{"email": "bmallet@entrouvert.com", "indexImposition": "222", "anneeImposition": "2020", "nombrePartImposition": "3.2", "montantImposition": "777.77"}'
Fichiers
Révisions associées
Historique
Mis à jour par Nicolas Roche il y a environ 3 ans
- Sujet changé de Les erreur 405 sur les méthodes (PUT, PATCH...) non prise en charge par les endpoints ne sont pas remontées à l'appelant. à Les erreurs 405 sur les méthodes (PUT, PATCH...) non prises en charge par les endpoints ne sont pas remontées à l'appelant.
Mis à jour par Frédéric Péters il y a environ 3 ans
Ce qui ne logue rien dans l'IHM de passerelle et la réponse (vide) est remonté dans WCS comme un appel réussit (err==0) :
Il y a une gestion d'erreur dans w.c.s. basée sur les codes HTTP (cf action_on_4xx); tu dis que ça ne fonctionne pas ?
Mis à jour par Nicolas Roche il y a environ 3 ans
Si le statut a bien été changé.
https://demarches-ministere-solidarites-sante.test.entrouvert.org/backoffice/management/declaration-revenus/11/
Et effectivement peut-être qu'il ne s'agit pas d'une erreur applicative.
Par contre il n'y a pas de trace de l'appel dans passerelle.
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
Le ticket se résume donc à ajouter une journalisation ici :
def perform(self, request, *args, **kwargs): if request.method.lower() not in self.endpoint.endpoint_info.methods: LOG HERE ! return self.http_method_not_allowed(request, *args, **kwargs)
Mis à jour par Nicolas Roche il y a environ 3 ans
- Fichier 0001-logs-log-405-error-as-warning-using-ProxyLogger-5126.patch 0001-logs-log-405-error-as-warning-using-ProxyLogger-5126.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Assigné à mis à Nicolas Roche
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Nicolas Roche il y a environ 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit c693de33440cfc2d0df4877fba2879f63cdb54b5 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Wed Mar 17 12:41:55 2021 +0100 logs: log 405 error as warning using ProxyLogger (#51263)
Mis à jour par Frédéric Péters il y a environ 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
logs: log 405 error as warning using ProxyLogger (#51263)