$cart =
$this->cartService->
getCart($context->
getToken(),
$context);
$states =
$this->
updateSystemState($cart,
$context,
$request,
$response);
// We need to allow it on login, otherwise the state is wrong
if (!
($route === 'frontend.account.login' ||
$request->
getMethod() === Request::METHOD_GET
)) { return;
} if ($context->
getCustomer() ||
$cart->
getLineItems()->
count() > 0
) { $newValue =
$this->
buildCacheHash($context);
if ($request->cookies->
get(self::CONTEXT_CACHE_COOKIE, ''
) !==
$newValue) { $cookie = Cookie::
create(self::CONTEXT_CACHE_COOKIE,
$newValue);
$cookie->
setSecureDefault($request->
isSecure());
$response->headers->
setCookie($cookie);
} } elseif ($request->cookies->
has(self::CONTEXT_CACHE_COOKIE
)) { $response->headers->
removeCookie(self::CONTEXT_CACHE_COOKIE
);
$response->headers->
clearCookie(self::CONTEXT_CACHE_COOKIE
);
}