EnforcedFormResponseSubscriber.php in Drupal 9
File
core/lib/Drupal/Core/EventSubscriber/EnforcedFormResponseSubscriber.php
View source
<?php
namespace Drupal\Core\EventSubscriber;
use Drupal\Core\Form\EnforcedResponse;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\ResponseEvent;
use Symfony\Component\HttpKernel\Event\ExceptionEvent;
use Symfony\Component\HttpKernel\KernelEvents;
class EnforcedFormResponseSubscriber implements EventSubscriberInterface {
public function onKernelException(ExceptionEvent $event) {
if ($response = EnforcedResponse::createFromException($event
->getThrowable())) {
$event
->setResponse($response);
}
}
public function onKernelResponse(ResponseEvent $event) {
$response = $event
->getResponse();
if ($response instanceof EnforcedResponse && $event
->isMainRequest()) {
$event
->setResponse($response
->getResponse());
}
}
public static function getSubscribedEvents() {
$events[KernelEvents::EXCEPTION] = [
'onKernelException',
128,
];
$events[KernelEvents::RESPONSE] = [
'onKernelResponse',
128,
];
return $events;
}
}