// In this example, we create a listener function that logs the type of request being made namespace App\EventListener; use Symfony\Component\HttpKernel\Event\GetResponseEvent; class RequestTypeListener { public function onKernelRequest(GetResponseEvent $event) { $requestType = $event->getRequestType(); if ($requestType === 'GET') { // Log GET request } else { // Log non-GET request } } }
// In this example, we use GetResponseEvent to redirect visitors who are not logged in to the login page namespace App\EventListener; use Symfony\Component\HttpKernel\Event\GetResponseEvent; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; class SecurityListener { private $urlGenerator; public function __construct(UrlGeneratorInterface $urlGenerator) { $this->urlGenerator = $urlGenerator; } public function onKernelRequest(GetResponseEvent $event) { $request = $event->getRequest(); if (!$request->attributes->get('_route') === 'login' && !$request->getSession()->get('user')) { $response = new RedirectResponse($this->urlGenerator->generate('login')); $event->setResponse($response); $event->stopPropagation(); } } }These examples demonstrate how the GetResponseEvent and getRequestType method can be used in different contexts to perform various tasks. The HttpKernel Component is part of the Symfony framework package.