Support #45110
connecteur CMIS : renvoyer un code d'erreur en fonction du type d'erreur
Status:
Nouveau
Priority:
Bas
Assignee:
-
Target version:
-
Start date:
14 July 2020
Due date:
% Done:
0%
Estimated time:
Patch proposed:
No
Planning:
No
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) ...
Related issues
Associated revisions
History
Updated by Thomas Noël almost 5 years ago
- Related to Développement #45313: logs de cmislib inutiles added
Updated by Benjamin Dauvergne (retour le 1er août) over 3 years ago
- Related to Développement #53601: cmis : ne pas mettre tout le payload dans le rendu de l'exception added
Updated by Benjamin Dauvergne (retour le 1er août) over 3 years ago
On ne reçoit plus les traces Error\ content et Error\ payload on peut ignorer ces remarques.
debian: toggle cmislib logs with DEBUG (#45110)