cookieManager = $cookieManager; $this->request = $request; $this->cookieMetadataFactory = $cookieMetadataFactory; } /** * Generate unique version identifier * * @return string */ protected function generateValue() { return md5(rand() . time()); } /** * Handle private content version cookie * Set cookie if it is not set. * Increment version on post requests. * In all other cases do nothing. * * @return void */ public function process() { if ($this->request->isPost()) { $publicCookieMetadata = $this->cookieMetadataFactory->createPublicCookieMetadata() ->setDuration(self::COOKIE_PERIOD) ->setPath('/') ->setSecure($this->request->isSecure()) ->setHttpOnly(false); $this->cookieManager->setPublicCookie(self::COOKIE_NAME, $this->generateValue(), $publicCookieMetadata); } } }