public function testGetVaryString() { $this->object->setValue('key2', 'value2', 'default2'); $this->object->setValue('key1', 'value1', 'default1'); $data = ['key2' => 'value2', 'key1' => 'value1']; ksort($data); $this->assertEquals(sha1(serialize($data)), $this->object->getVaryString()); }
/** * Send Vary cookie * * @return void */ public function sendVary() { $varyString = $this->context->getVaryString(); if ($varyString) { $sensitiveCookMetadata = $this->cookieMetadataFactory->createSensitiveCookieMetadata()->setPath('/'); $this->cookieManager->setSensitiveCookie(self::COOKIE_VARY_STRING, $varyString, $sensitiveCookMetadata); } elseif ($this->request->get(self::COOKIE_VARY_STRING)) { $cookieMetadata = $this->cookieMetadataFactory->createSensitiveCookieMetadata()->setPath('/'); $this->cookieManager->deleteCookie(self::COOKIE_VARY_STRING, $cookieMetadata); } }
/** * Return unique page identifier * * @return string */ public function getValue() { $data = [$this->request->getUriString(), $this->request->get(\Magento\Framework\App\Response\Http::COOKIE_VARY_STRING) ?: $this->context->getVaryString()]; return md5(serialize($data)); }