FormTestEventSubscriber.php in Drupal 10
File
core/modules/system/tests/modules/form_test/src/EventSubscriber/FormTestEventSubscriber.php
View source
<?php
namespace Drupal\form_test\EventSubscriber;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpKernel\Event\ResponseEvent;
use Symfony\Component\HttpKernel\KernelEvents;
class FormTestEventSubscriber implements EventSubscriberInterface {
public function onKernelRequest(RequestEvent $event) {
$request = $event
->getRequest();
$request->attributes
->set('custom_attributes', 'custom_value');
$request->attributes
->set('request_attribute', 'request_value');
}
public function onKernelResponse(ResponseEvent $event) {
$response = $event
->getResponse();
$response->headers
->set('X-Form-Test-Response-Event', 'invoked');
}
public static function getSubscribedEvents() : array {
$events[KernelEvents::REQUEST][] = [
'onKernelRequest',
];
$events[KernelEvents::RESPONSE][] = [
'onKernelResponse',
];
return $events;
}
}