<?php
namespace App\EventSubscriber;
use App\Http\CityCaseRedirector;
use App\Http\DomainRedirectorInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpKernel\EventListener\RouterListener;
use Symfony\Component\HttpKernel\KernelEvents;
class CityCaseRedirectSubscriber implements EventSubscriberInterface
{
public function __construct(
protected CityCaseRedirector $redirector
) {}
public function onRequest(RequestEvent $event): void
{
if (!$event->isMasterRequest()) {
return;
}
$request = $event->getRequest();
if (null !== $response = $this->redirector->getImmediateResponse($request)) {
$event->setResponse($response);
}
}
/**
* @inheritDoc
*/
public static function getSubscribedEvents()
{
return [
KernelEvents::REQUEST => ['onRequest', 51],
];
}
}