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

Gère les erreurs renvoyés à l'utilisateur et envoyées à Sentry #193

Merged
merged 1 commit into from
May 16, 2024

Conversation

jillro
Copy link
Member

@jillro jillro commented May 16, 2024

On utilise le workaround suggéré dans getsentry/sentry-javascript#12055.

  • une fonction isHandledError nous indique si une erreur est une erreur générée par nous pour gérer un cas prévisible (càd, en fait, une erreur avec un statusCode < 500, comme erreur d'authentification, de validation), ou s'il s'agit d'une erreur non prévue, type division par 0 ou bug de programmation
  • cette fonction est utilisée à deux endroits
    • dans notre gestionnaire d'erreur custom
      • si c'est une exception gérée, on renvoi à l'utilisateur l'erreur et son message (cela implique que toutes les exceptions qu'on crée nous même avec un statusCode doivent avoir un message d'erreur "exposable")
      • si c'est une exception non gérée, on n'expose simplement "erreur serveur" à l'utilisateur, pour éviter toute fuite de donnée dangereuse
    • dans l'option onBefore de Sentry pour déterminer si on report l'erreur dans Sentry (il n'y a aucune raison d'envoyer à Sentry une erreur d'authentification de l'utilisateur)
  • un cas déroge à la règle : les erreurs avec un status code 502, qui sont envoyées à l'utilisateur comme les erreurs d'authentification et de validation, mais sont tout de même reportées à Sentry pour pouvoir recevoir l'alerte
  • un changement : si c'est une erreur Got, on doit la gérer de manière ad-hoc, en générant une erreur 502 ou autre. Précédemment, on récupérait le code erreur de la réponse Got en le traitant comme si c'était une erreur générée de notre côté, mais il n'y a aucune raison, si par exemple on reçoit un code erreur 419, de renvoyer la même chose à l'utilisateur.

@jillro jillro requested a review from thom4parisot May 16, 2024 10:46
@jillro jillro enabled auto-merge May 16, 2024 10:47
@jillro jillro merged commit 2c49e09 into main May 16, 2024
3 of 5 checks passed
@jillro jillro deleted the maud/error_handling branch May 16, 2024 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant