Ejemplo n.º 1
0
 /**
  * Check the max-age directive
  *
  * @param array  $cacheHeaders
  * @param string $cacheBodyFile
  *
  * @return boolean
  */
 protected static function cacheIsFresh(array $cacheHeaders, $cacheBodyFile)
 {
     $cacheTime = filemtime($cacheBodyFile);
     $now = new \Datetime();
     //Cache-Control
     if (isset($cacheHeaders['Cache-Control'][0])) {
         $cacheControl = static::parseCacheControl($cacheHeaders['Cache-Control'][0]);
         //Max age
         if (isset($cacheControl['max-age']) && $cacheTime + $cacheControl['max-age'] < $now->get('U')) {
             return false;
         }
     }
     //Expires
     if (isset($cacheHeaders['Expires'][0])) {
         $expires = new \Datetime($cacheHeaders['Expires'][0]);
         if ($expires < $now) {
             return false;
         }
     }
     return true;
 }