$age =
$response->
getAge();
$this->age =
max($this->age,
$age);
if ($this->
willMakeFinalResponseUncacheable($response)) { $this->isNotCacheableResponseEmbedded = true;
return;
} $isHeuristicallyCacheable =
$response->headers->
hasCacheControlDirective('public'
);
$maxAge =
$response->headers->
hasCacheControlDirective('max-age'
) ?
(int) $response->headers->
getCacheControlDirective('max-age'
) : null;
$this->
storeRelativeAgeDirective('max-age',
$maxAge,
$age,
$isHeuristicallyCacheable);
$sharedMaxAge =
$response->headers->
hasCacheControlDirective('s-maxage'
) ?
(int) $response->headers->
getCacheControlDirective('s-maxage'
) :
$maxAge;
$this->
storeRelativeAgeDirective('s-maxage',
$sharedMaxAge,
$age,
$isHeuristicallyCacheable);
$expires =
$response->
getExpires();
$expires = null !==
$expires ?
(int) $expires->
format('U'
) -
(int) $response->
getDate()->
format('U'
) : null;
$this->
storeRelativeAgeDirective('expires',
$expires >= 0 ?
$expires : null, 0,
$isHeuristicallyCacheable);
if (false !==
$this->lastModified
) { $lastModified =
$response->
getLastModified();
$this->lastModified =
$lastModified ?
max($this->lastModified,
$lastModified) : false;
} }