request = $request; $this->context = $context; $this->serializer = $serializer; $this->config = $config; } /** * Add/Override a unique key identifier for graphql specific query and variables that skips X-Magento-Vary cookie * * @param \Magento\Framework\App\PageCache\Identifier $identifier * @param string $result * @return string * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function afterGetValue(\Magento\Framework\App\PageCache\Identifier $identifier, string $result) : string { if ($this->config->isEnabled()) { $data = [ $this->request->isSecure(), $this->request->getUriString(), $this->context->getVaryString() ]; $result = sha1($this->serializer->serialize($data)); } return $result; } }