Skip to main content

Capture Sentry exceptions in Graphene views

Project description

graphene-sentry

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:

  1. Sentry will show the true exceptions.
  2. Graphene will continue to work like normal.

Works with:

  • Python 3.6+
  • Django 2.1+
  • graphene-django 2.2+

image

image

image

image

image

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',
    ),
]

What can I do?

  • Capture Sentry exceptions properly when they are raise-d in Graphene views.

Status

graphene-sentry is currently stable and suitable for use.

Credits

This package is based on graphene-django-sentry author @phalt

This package was created with Cookiecutter.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphene-sentry-0.4.0.tar.gz (3.4 kB view hashes)

Uploaded Source

Built Distribution

graphene_sentry-0.4.0-py3-none-any.whl (4.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page