• Kevin Morris's avatar
    feat(python): catch all exceptions thrown through fastapi route paths · d675c0dc
    Kevin Morris authored
    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's avatarKevin Morris <kevr@0cost.org>