Projet

Général

Profil

Development #35527

L'extraction du code HTTP ne marche plus dans wf/wscall en cas d'erreur

Ajouté par Benjamin Dauvergne il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
21 août 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Le test if response: dans wcs/wf/wscall.py ne marche plus car requests défini Response ainsi :

class Response(...
...
    def __nonzero__(self):
        """Returns true if :attr:`status_code` is 'OK'.""" 
        return self.ok

Ce code :

    def action_on_error(self, action, formdata, response=None, data=None, exc_info=None):
        if action in (':pass', ':stop') and (self.notify_on_errors or self.record_errors):
            if exc_info:
                summary = traceback.format_exception_only(exc_info[0], exc_info[1])[-1]
            else:
                summary = ''
                if response:
                    summary = '%s %s' % (response.status_code, response.reason)
                try:
                    raise Exception(summary)
                except Exception as e:
                    exc_info = sys.exc_info()

fait simplement raise Exception('') en cas d'erreur HTTP.

On reçoit des traces pas très intéressante de ce style :

To: admin+montpellier.prod@entrouvert.com
Date: Wed, 21 Aug 2019 20:00:52 +0200

Exception:
  type = '<type 'exceptions.Exception'>', value = ''

Stack trace (most recent call first):
  File "/usr/lib/python2.7/dist-packages/wcs/wf/wscall.py", line 411, in action_on_error
   409
   410             if self.notify_on_errors:
>  411                 get_publisher().notify_of_exception(exc_info, context='[WSCALL]')
   412             if self.record_errors and formdata.evolution:
   413                 formdata.evolution[-1].add_part(

Fichiers

Révisions associées

Révision 54d85328 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 4 ans

wf/wscall: test if response is not None (#35527)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

  • Assigné à mis à Benjamin Dauvergne
#2

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

  • Description mis à jour (diff)
  • Assigné à Benjamin Dauvergne supprimé
#3

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

#4

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

  • Assigné à mis à Benjamin Dauvergne
#5

Mis à jour par Frédéric Péters il y a plus de 4 ans

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

Tant qu'à faire, tu mettrais summary = '<no response>' au-dessus, à la place de '' ?

#6

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 54d85328288b2e0ba21ee1b8e40fba2d96cdcf8f
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Wed Aug 21 20:23:52 2019 +0200

    wf/wscall: test if response is not None (#35527)
#7

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

Frédéric Péters a écrit :

Tant qu'à faire, tu mettrais summary = '<no response>' au-dessus, à la place de '' ?

Je l'ai mis mais en fait je pense que ça ne peut juste pas arriver ou alors j'ai raté un chemin dans le code.

#8

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF