Skip to content

Bogdanp/apistar_sentry

Repository files navigation

apistar-sentry

Sentry support for API Star.

Installation

pipenv install apistar_sentry

Usage

from apistar import App as BaseApp
from apistar_sentry import SentryComponent, SentryMixin


class App(SentryMixin, BaseApp):
    pass


COMPONENTS = [
    SentryComponent("YOUR_DSN_GOES_HERE", environment="example", version="0.1.0"),
]

ROUTES = [
    # ...
]

app = App(components=COMPONENTS, routes=ROUTES)

Tracking user information

If you have a custom user or account object that can be dependency injected, then you can define on_request and on_response hooks to enrich the Sentry object with that user's information:

class SentryHooks:
  def on_request(self, account: Account, sentry: Sentry = None) -> None:
    if sentry is not None:
      sentry.track_user(account.to_dict())

  def on_response(self, response: http.Response, sentry: Sentry = None) -> http.Response:
    if sentry is not None:
      sentry.clear_user()
    return response

  on_error = on_response

Authors

apistar_sentry was originally authored at Leadpages. Check out their careers page!

License

apistar_sentry is licensed under the MIT License. Please see LICENSE for licensing details.

About

A Sentry component for API Star.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages