Skip to content

Improve error handling for routing errors#6853

Draft
masaball wants to merge 1 commit into
developfrom
api_error
Draft

Improve error handling for routing errors#6853
masaball wants to merge 1 commit into
developfrom
api_error

Conversation

@masaball
Copy link
Copy Markdown
Contributor

Related issue: #5037

After a lot of testing, it was determined that error handling for most/all API routes was already fairly robust. The most likely cause of the error reporting issue was users making their request with the wrong HTTP method, e.x. Media Object update is required to be a PUT. Users making the request via PATCH would encounter a 500 error for the incorrect route. This commit adds handling for this situation by creating a new route that catches all requests that don't match an existing route and directing them to specific error handling to provide a 404 page or JSON error, depending on request format. This is necessary because routing errors occur in middleware which cannot be rescued via standard rescue_from error handling.

Follow-up work could be to audit our API endpoints and see if there are any it might make sense to add, such as a PATCH option for API updates of Media Objects.

Related issue: #5037

After a lot of testing, it was determined that error handling for
most/all API routes was already fairly robust. The most likely cause of
the error reporting issue was users making their request with the wrong
HTTP method, e.x. Media Object update is required to be a PUT. Users
making the request via PATCH would encounter a 500 error for the
incorrect route. This commit adds handling for this situation by
creating a new route that catches all requests that don't match an
existing route and directing them to specific error handling to provide
a 404 page or JSON error, depending on request format.

Follow-up work could be to audit our API endpoints and see if there are
any it might make sense to add, such as a PATCH option for API updates
of Media Objects.
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.

1 participant