This package is based on graphene-django-sentry (Github page) package.
Main focus of package was to fix issue with sentry reporting with graphene_django package.
I think this package can be extended to handle nore cases.
Survey is needed if you faced similar problem with sentry report with other frameworks or graphene implementations let me know via issues.
Capture Sentry exceptions in Graphene views
When using Graphene Django, you sometimes want to raise exceptions and capture them in the API.
However, Graphene Django eats the raised exceptions and you won't see it in Sentry! 😭
This package thinly wraps the normal GraphQLView with a handler that deals with Sentry errors properly.
So the results:
- Sentry will show the true exceptions.
- Graphene will continue to work like normal.
Works with:
- Python 3.6+
- Django 2.1+
- graphene-django 2.2+
Installing the project is easy:
pip install graphene-sentry
Example without file upload:
# urls.py
from .schema import schema
from graphene_sentry.views import SentryGraphQLView
urlpatterns = [
url(
r'^graphql',
csrf_exempt(SentryGraphQLView.as_view(schema=schema)),
name='graphql',
),
]
Example with graphene file upload:
# urls.py
from .schema import schema
from graphene_sentry.views import SentryFileUploadGraphQLView
urlpatterns = [
url(
r'^graphql',
csrf_exempt(SentryFileUploadGraphQLView.as_view(schema=schema)),
name='graphql',
),
]
- Capture Sentry exceptions properly when they are raise-d in Graphene views.
graphene-sentry is currently stable and suitable for use.
This package is based on graphene-django-sentry author @phalt
This package was created with Cookiecutter.