public function isVaryEquals(RequestInterface $request)
{
if ($this->response->hasHeader('Vary')) {
if ($this->request === null) {
return false;
}
$varyHeaders = new KeyValueHttpHeader($this->response->getHeader('Vary'));
foreach ($varyHeaders as $key => $value) {
if (!$this->request->hasHeader($key) && !$request->hasHeader($key)) {
// Absent from both
continue;
} elseif ($this->request->getHeaderLine($key) == $request->getHeaderLine($key)) {
// Same content
continue;
}
return false;
}
}
return true;
}