vendor/nelmio/security-bundle/src/EventListener/ReferrerPolicyListener.php line 36

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. /*
  4.  * This file is part of the Nelmio SecurityBundle.
  5.  *
  6.  * (c) Nelmio <hello@nelm.io>
  7.  *
  8.  * For the full copyright and license information, please view the LICENSE
  9.  * file that was distributed with this source code.
  10.  */
  11. namespace Nelmio\SecurityBundle\EventListener;
  12. use Symfony\Component\HttpKernel\Event\ResponseEvent;
  13. /**
  14.  * @author Andrej Hudec <pulzarraider@gmail.com>
  15.  */
  16. final class ReferrerPolicyListener
  17. {
  18.     /**
  19.      * @var list<string>
  20.      */
  21.     private array $policies;
  22.     /**
  23.      * @param list<string> $policies
  24.      */
  25.     public function __construct(array $policies)
  26.     {
  27.         $this->policies $policies;
  28.     }
  29.     public function onKernelResponse(ResponseEvent $e): void
  30.     {
  31.         if (!$e->isMainRequest()) {
  32.             return;
  33.         }
  34.         $response $e->getResponse();
  35.         $response->headers->set('Referrer-Policy'implode(', '$this->policies));
  36.     }
  37. }