58 private $sessionConfig;
102 $varyString = $this->context->getVaryString();
104 $cookieLifeTime = $this->sessionConfig->getCookieLifetime();
105 $sensitiveCookMetadata = $this->cookieMetadataFactory->createSensitiveCookieMetadata(
108 $this->cookieManager->setSensitiveCookie(self::COOKIE_VARY_STRING, $varyString, $sensitiveCookMetadata);
109 }
elseif ($this->request->get(self::COOKIE_VARY_STRING)) {
110 $cookieMetadata = $this->cookieMetadataFactory->createSensitiveCookieMetadata()->setPath(
'/');
111 $this->cookieManager->deleteCookie(self::COOKIE_VARY_STRING, $cookieMetadata);
125 if ($ttl < 0 || !preg_match(
'/^[0-9]+$/', $ttl)) {
126 throw new \InvalidArgumentException(
'Time to live is a mandatory parameter for set public headers');
128 $this->
setHeader(
'pragma',
'cache',
true);
129 $this->
setHeader(
'cache-control',
'public, max-age=' . $ttl .
', s-maxage=' . $ttl,
true);
143 throw new \InvalidArgumentException(
'Time to live is a mandatory parameter for set private headers');
145 $this->
setHeader(
'pragma',
'cache',
true);
146 $this->
setHeader(
'cache-control',
'private, max-age=' . $ttl,
true);
158 $this->
setHeader(
'pragma',
'no-cache',
true);
159 $this->
setHeader(
'cache-control',
'no-store, no-cache, must-revalidate, max-age=0',
true);
172 $this->
setHeader(
'Content-Type',
'application/json',
true);
182 return [
'content',
'isRedirect',
'statusCode',
'context',
'headers'];
194 $this->cookieManager =
$objectManager->create(\
Magento\Framework\Stdlib\CookieManagerInterface::class);
196 \
Magento\Framework\Stdlib\Cookie\CookieMetadataFactory::class
210 return $this->dateTime->gmDate(self::EXPIRATION_TIMESTAMP_FORMAT, $this->dateTime->strToTime($time));
getExpirationHeader($time)
elseif(isset( $params[ 'redirect_parent']))
const EXPIRATION_TIMESTAMP_FORMAT
__construct(HttpRequest $request, CookieManagerInterface $cookieManager, CookieMetadataFactory $cookieMetadataFactory, Context $context, DateTime $dateTime, ConfigInterface $sessionConfig=null)
setHeader($name, $value, $replace=false)