vendor/sentry/sentry-symfony/src/EventListener/SubRequestListener.php line 30

Open in your IDE?
  1. <?php
  2. namespace Sentry\SentryBundle\EventListener;
  3. use Sentry\SentrySdk;
  4. use Symfony\Component\HttpKernel\Event\FinishRequestEvent;
  5. use Symfony\Component\HttpKernel\Event\GetResponseEvent;
  6. use Symfony\Component\HttpKernel\Event\RequestEvent;
  7. use Symfony\Component\HttpKernel\Kernel;
  8. if (Kernel::MAJOR_VERSION >= 5) {
  9.     if (! class_exists(SubRequestListenerRequestEvent::class, false)) {
  10.         class_alias(RequestEvent::class, SubRequestListenerRequestEvent::class);
  11.     }
  12. } else {
  13.     if (! class_exists(SubRequestListenerRequestEvent::class, false)) {
  14.         class_alias(GetResponseEvent::class, SubRequestListenerRequestEvent::class);
  15.     }
  16. }
  17. final class SubRequestListener
  18. {
  19.     use KernelEventForwardCompatibilityTrait;
  20.     /**
  21.      * Pushes a new {@see Scope} for each SubRequest
  22.      *
  23.      * @param SubRequestListenerRequestEvent $event
  24.      */
  25.     public function onKernelRequest(SubRequestListenerRequestEvent $event): void
  26.     {
  27.         if ($this->isMainRequest($event)) {
  28.             return;
  29.         }
  30.         SentrySdk::getCurrentHub()->pushScope();
  31.     }
  32.     /**
  33.      * Pops a {@see Scope} for each finished SubRequest
  34.      *
  35.      * @param FinishRequestEvent $event
  36.      */
  37.     public function onKernelFinishRequest(FinishRequestEvent $event): void
  38.     {
  39.         if ($this->isMainRequest($event)) {
  40.             return;
  41.         }
  42.         SentrySdk::getCurrentHub()->popScope();
  43.     }
  44. }