Skip to content

Commit

Permalink
adding error handling
Browse files Browse the repository at this point in the history
  • Loading branch information
fcollman committed Aug 13, 2023
1 parent 4566858 commit 5d8d3b3
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 3 deletions.
38 changes: 35 additions & 3 deletions annotationengine/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
from flask_accepts import accepts
from flask_restx import Namespace, Resource, reqparse, inputs
from middle_auth_client import (
auth_requires_admin,
auth_requires_permission,
users_share_common_group,
auth_requires_permission
)
from marshmallow import ValidationError
from caveclient.materializationengine import MaterializationClient
from caveclient.auth import AuthClient
import werkzeug
import traceback

from annotationengine.aligned_volume import (
get_aligned_volumes,
Expand Down Expand Up @@ -51,6 +51,38 @@
)


@api_bp.errorhandler(Exception)
def unhandled_exception(e):
status_code = 500
user_ip = str(request.remote_addr)
tb = traceback.format_exception(etype=type(e), value=e, tb=e.__traceback__)

current_app.logger.error(
{
"message": str(e),
"user_id": user_ip,
"user_ip": user_ip,
"request_url": request.url,
"request_data": request.data,
"response_code": status_code,
"traceback": tb,
}
)

resp = {
"code": status_code,
"message": str(e),
"traceback": tb,
}

return resp, status_code


@api_bp.errorhandler(werkzeug.exceptions.BadRequest)
def bad_request_exception(e):
raise e


@api_bp.errorhandler
def handle_invalid_usage(error):
return {"message": str(error)}, getattr(error, "code", 500)
Expand Down
1 change: 1 addition & 0 deletions annotationengine/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,4 +130,5 @@ def table_view(aligned_volume_name, table_name):
table_size=table_size,
df_table=top15_df.to_html(escape=False),
table_description=md["description"],
version=__version__,
)

0 comments on commit 5d8d3b3

Please sign in to comment.