How to use the @sentry/core.withScope function in @sentry/core

To help you get started, we’ve selected a few @sentry/core examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github getsentry / sentry-javascript / packages / node / src / handlers.ts View on Github external
return function sentryErrorMiddleware(
    error: MiddlewareError,
    _req: http.IncomingMessage,
    _res: http.ServerResponse,
    next: (error: MiddlewareError) => void,
  ): void {
    const shouldHandleError = (options && options.shouldHandleError) || defaultShouldHandleError;

    if (shouldHandleError(error)) {
      withScope(scope => {
        if (_req.headers && isString(_req.headers['sentry-trace'])) {
          const span = Span.fromTraceparent(_req.headers['sentry-trace'] as string);
          scope.setSpan(span);
        }
        const eventId = captureException(error);
        (_res as any).sentry = eventId;
        next(error);
      });

      return;
    }

    next(error);
  };
}