src/EventListener/ResponseListener.php line 9

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
  4. use Symfony\Component\HttpKernel\Event\ResponseEvent;
  5. class ResponseListener
  6. {
  7.     public function onKernelResponse(ResponseEvent $event)
  8.     {
  9.         $request $event->getRequest();
  10.         if ($this->disableThisPageCache($request->getPathInfo())) {
  11.             $headers $event->getResponse()->headers;
  12.             $headers->set('Cache-Control''no-cache, no-store, must-revalidate'); // HTTP 1.1.
  13.             $headers->set('Pragma''no-cache'); // HTTP 1.0.
  14.             $headers->set('Expires''0'); // Proxies.
  15.         }
  16.     }
  17.     private function disableThisPageCache($currentPath)
  18.     {
  19.         $paths = array('/application''/customer','/dashboard','/base/customer/','/displaying-datas','/reseller_dashboard','/tree-view','/not-classified');
  20.         foreach ($paths as $path) {
  21.             if ($this->checkPathBegins($currentPath$path)) {
  22.                 return true;
  23.             }
  24.         }
  25.         return false;
  26.     }
  27.     private function checkPathBegins($path$string)
  28.     {
  29.         return substr($path0strlen($string)) === $string;
  30.     }
  31. }
  32. ?>