src/Subscriber/MessengerResponseSubscriber.php line 30

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Subscriber;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. use Symfony\Component\HttpKernel\Event\ViewEvent;
  6. use Symfony\Component\HttpKernel\KernelEvents;
  7. use Symfony\Component\Messenger\Envelope;
  8. use Symfony\Component\Messenger\Stamp\HandledStamp;
  9. class MessengerResponseSubscriber implements EventSubscriberInterface
  10. {
  11.     public static function getSubscribedEvents()
  12.     {
  13.         return [
  14.             KernelEvents::VIEW => [
  15.                 ['onKernelView'31],
  16.             ]
  17.         ];
  18.     }
  19.     /**
  20.      * Przechwytywanie wyniku kontrollera i zamiana instancji Envelope na instancjÄ™ zwracanego obiektu
  21.      *
  22.      * @param ViewEvent $event
  23.      *
  24.      */
  25.     public function onKernelView(ViewEvent $event)
  26.     {
  27.         $controllerResult $event->getControllerResult();
  28.         if ($controllerResult instanceof Envelope) {
  29.             $event->setControllerResult($controllerResult->last(HandledStamp::class)->getResult());
  30.         }
  31.     }
  32. }