Projet

Général

Profil

Support #45110

connecteur CMIS : renvoyer un code d'erreur en fonction du type d'erreur

Ajouté par Thomas Noël il y a presque 4 ans. Mis à jour il y a plus de 2 ans.

Statut:
Nouveau
Priorité:
Bas
Assigné à:
-
Version cible:
-
Début:
14 juillet 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Actuellement on fait :

        except (urllib2.URLError, httplib2.HttpLib2Error) as e:
            # FIXME urllib2 still used for cmslib 0.5 compat
            raise APIError("connection error: %s" % e)
        except PermissionDeniedException as e:
            raise APIError("permission denied: %s" % e)
        except UpdateConflictException as e:
            raise APIError("update conflict: %s" % e)
        except InvalidArgumentException as e:
            raise APIError("invalid property name: %s" % e)
        except CmisException as e:
            raise APIError("cmis binding error: %s" % e)

Ce qui renvoie

{"err": 1, "err_class": "passerelle.utils.jsonresponse.APIError", "err_desc": "bla bla", ...}

et dans dans les workflow en cas d'erreur il faut interpréter le contenu de "err_desc", ce qui n'est pas forcément facile.

Ca serait mieux de renvoyer un "err" différent en fonction de l'erreur rencontrée, genre

...
        except PermissionDeniedException as e:
            raise APIError("permission denied: %s" % e, err_code=403)
        except UpdateConflictException as e:
            raise APIError("update conflict: %s" % e, err_code=409)
...

Demandes liées

Lié à Passerelle - Development #45313: logs de cmislib inutilesFermé21 juillet 2020

Actions
Lié à Passerelle - Development #53601: cmis : ne pas mettre tout le payload dans le rendu de l'exceptionFermé30 avril 2021

Actions

Révisions associées

Révision 5c489c3d (diff)
Ajouté par Thomas Noël il y a presque 4 ans

debian: toggle cmislib logs with DEBUG (#45110)

Historique

#4

Mis à jour par Thomas Noël il y a presque 4 ans

#5

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

  • Lié à Development #53601: cmis : ne pas mettre tout le payload dans le rendu de l'exception ajouté
#6

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

On ne reçoit plus les traces Error\ content et Error\ payload on peut ignorer ces remarques.

Formats disponibles : Atom PDF