Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing innerException handling in Json response #276

Open
nfaugout-lucca opened this issue Nov 8, 2018 · 0 comments
Open

Missing innerException handling in Json response #276

nfaugout-lucca opened this issue Nov 8, 2018 · 0 comments

Comments

@nfaugout-lucca
Copy link
Contributor

Quand on throw une exception, que ce soit une Exception (500) ou BadRequest (400), si elle a une innerException, cette innerException n'est pas sérialisée dans la réponse Json.

Dans Lucca.Auth, je contacte une API de CC, et si elle répond mal (ici une 401), j'aimerais renvoyer une 500 à l'appelant de Lucca.Auth en lui indiquant que la innerException est cette 401 renvoyée par CC.

Voici le code

devenv_2018-11-08_15-08-10

Et la résultat Json dans PostMan

postman_2018-11-08_15-06-51

Le message et la stacktrace correspondent à mon exception Lucca.Auth, mais il manque la innerException avec son propre message et sa propre stackTrace, ce qui permettrait de mieux comprendre ce qui se passe lorsqu'une req HTTP vers une appli A génère une 2ème req HTTP vers une appli B. Ce genre de cas va se multiplier lourdement dans les année à venir !

Et à mon avis, si l'API de CC que Lucca.Auth contacte a elle-même contacté une autre API (une API de Lucca par ex), et si c'est cette API de Lucca qui a planté, alors CC va me renvoyer une exception qui contient déjà une innerException, et je m'attends alors à ce que Lucca.Auth me sérialise son exception, avec comme innerException celle de CC qui elle-même (en mode poupée russe) aura sa propre innerException de Lucca.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant