src/EventSubscriber/MercureCookieMiddleware.php line 24
<?phpnamespace App\EventSubscriber;use App\Entity\User;use App\Service\CookieGenerator;use Symfony\Component\EventDispatcher\EventSubscriberInterface;use Symfony\Component\HttpKernel\Event\ResponseEvent;use Symfony\Component\HttpKernel\HttpKernelInterface;use Symfony\Component\HttpKernel\KernelEvents;use Symfony\Bundle\SecurityBundle\Security;class MercureCookieMiddleware implements EventSubscriberInterface{public function __construct(private CookieGenerator $generator, private Security $security){}public static function getSubscribedEvents(): array{return [KernelEvents::RESPONSE => ['setMercureCookie'],];}public function setMercureCookie(ResponseEvent $event): void{$response = $event->getResponse();$request = $event->getRequest();if (HttpKernelInterface::MAIN_REQUEST !== $event->getRequestType() ||!in_array('text/html', $request->getAcceptableContentTypes()) ||!($user = $this->security->getUser()) instanceof User) {return;}/** @var User $user */$response->headers->setCookie($this->generator->generate($user));}}