vendor/dvdw/directory/src/Framework/Cache/HttpCacheKeySubscriber.php line 15

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace DvdwDirectory\Framework\Cache;
  3. use Shopware\Storefront\Framework\Cache\Event\HttpCacheGenerateKeyEvent;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. class HttpCacheKeySubscriber implements EventSubscriberInterface
  6. {
  7.     public static function getSubscribedEvents(): iterable
  8.     {
  9.         return [HttpCacheGenerateKeyEvent::class => 'extendKey'];
  10.     }
  11.     public function extendKey(HttpCacheGenerateKeyEvent $event): void
  12.     {
  13.         $request $event->getRequest();
  14.         $hash $event->getHash();
  15.         if (!$request->cookies->has(CacheResponseSubscriber::COOKIE_NAME)) {
  16.             return;
  17.         }
  18.         $event->setHash(hash('sha256'$hash '-' $request->cookies->get(CacheResponseSubscriber::COOKIE_NAME)));
  19.     }
  20. }