Projet

Général

Profil

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.

Ajouté par Nicolas Roche il y a environ 3 ans. Mis à jour il y a environ 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
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

Révision c693de33 (diff)
Ajouté par Nicolas Roche il y a environ 3 ans

logs: log 405 error as warning using ProxyLogger (#51263)

Historique

#1

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

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 ?

#3

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.

#4

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)

#5

Mis à jour par Nicolas Roche il y a environ 3 ans

#6

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

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

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)
#8

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

Formats disponibles : Atom PDF