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

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.     use KernelEventForwardCompatibilityTrait;
  19.     /**
  20.      * @var list<string>
  21.      */
  22.     private array $policies;
  23.     /**
  24.      * @param list<string> $policies
  25.      */
  26.     public function __construct(array $policies)
  27.     {
  28.         $this->policies $policies;
  29.     }
  30.     public function onKernelResponse(ResponseEvent $e): void
  31.     {
  32.         if (!$this->isMainRequest($e)) {
  33.             return;
  34.         }
  35.         $response $e->getResponse();
  36.         $response->headers->set('Referrer-Policy'implode(', '$this->policies));
  37.     }
  38. }