def test_with_locals_enabled(): events = [] hub = Hub(Client(with_locals=True, transport=events.append)) try: 1 / 0 except Exception: hub.capture_exception() (event, ) = events assert all( frame["vars"] for frame in event["exception"]["values"][0]["stacktrace"]["frames"])
def test_with_locals_disabled(): events = [] hub = Hub(Client(with_locals=False, transport=events.append)) try: 1 / 0 except Exception: hub.capture_exception() event, = events assert all( "vars" not in frame for frame in event["exception"]["values"][0]["stacktrace"]["frames"])
async def middleware(self, handler: ASGIApp, request: Request, receive: Receive, send: Send): # type: ignore """Capture exceptions to Sentry.""" hub = Hub(Hub.current) with hub.configure_scope() as scope: scope.clear_breadcrumbs() scope._name = "muffin" self.current_scope.set(scope) scope.add_event_processor( partial(self.processData, request=request)) with hub.start_transaction( Transaction.continue_from_headers( request.headers, op=f"{request.scope['type']}.muffin"), custom_sampling_context={'asgi_scope': scope}): try: return await handler(request, receive, send) except Exception as exc: if type(exc) not in self.cfg.ignore_errors: hub.capture_exception(exc) raise exc from None