src/Mm/Escmid/EaaBundle/EventSubscriber/SecurityHeaderSubscriber.php line 22

Open in your IDE?
  1. <?php
  2. namespace Mm\Escmid\EaaBundle\EventSubscriber;
  3. use Mm\Escmid\EaaBundle\Util\HeaderManager;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. use Symfony\Component\HttpKernel\Event\ResponseEvent;
  6. class SecurityHeaderSubscriber implements EventSubscriberInterface
  7. {
  8. public function __construct(private readonly HeaderManager $headerManager)
  9. {
  10. }
  11. public static function getSubscribedEvents(): array
  12. {
  13. return [
  14. ResponseEvent::class => ['onKernelResponse'],
  15. ];
  16. }
  17. public function onKernelResponse(ResponseEvent $event): void
  18. {
  19. if (!$event->isMainRequest()) {
  20. return;
  21. }
  22. $response = $event->getResponse();
  23. $response->headers->add($this->headerManager->getSecurityHeadersAsArray());
  24. }
  25. }