Beispiel #1
0
 /**
  * Get a cache control directive from a message.
  *
  * @param MessageInterface $message Message to retrieve
  * @param string           $part    Cache directive to retrieve
  *
  * @return mixed|bool|null
  */
 public static function getDirective(MessageInterface $message, $part)
 {
     $parts = AbstractMessage::parseHeader($message, 'Cache-Control');
     foreach ($parts as $line) {
         if (isset($line[$part])) {
             return $line[$part];
         } elseif (in_array($part, $line)) {
             return true;
         }
     }
     return null;
 }
Beispiel #2
0
 /**
  * Gets the number of seconds from the current time in which a response
  * is still considered fresh.
  *
  * @param ResponseInterface $response
  *
  * @return int|null Returns the number of seconds
  */
 public static function getMaxAge(ResponseInterface $response)
 {
     $parts = AbstractMessage::parseHeader($response, 'Cache-Control');
     if (isset($parts['s-maxage'])) {
         return $parts['s-maxage'];
     } elseif (isset($parts['max-age'])) {
         return $parts['max-age'];
     } elseif ($response->hasHeader('Expires')) {
         return strtotime($response->getHeader('Expires')) - time();
     }
     return null;
 }