Skip to content

feat(python): catch all exceptions thrown through fastapi route paths

Kevin Morris requested to merge kevr/aurweb:500-catchall into pu

This commit does quite a bit:

  • Catches unhandled exceptions raised in the route handler and produces a 500 Internal Server Error Arch-themed response.
  • Each unhandled exception causes a notification to be sent to new notifications.postmaster email with a "Traceback ID."
  • Traceback ID is logged to the server along with the traceback which caused the 500: docker-compose logs fastapi | grep '<traceback_id>'
  • If options.traceback is set to 1, traceback is displayed in the new 500.html template.

Signed-off-by: Kevin Morris kevr@0cost.org

When an exception is raised an unhandled

500

Email sent to notifications.postmaster

Traceback ID: c903574
Location: https://localhost:8444
Version: v5.0.0
Datetime: 2022-01-10 04:48 UTC

[1] https://localhost:8444
Edited by Kevin Morris

Merge request reports