/** * @param Visitor $visitor * @param Generator $generator * @param \eZ\Publish\Core\REST\Server\Values\CachedValue $data */ public function visit(Visitor $visitor, Generator $generator, $data) { $visitor->visitValueObject($data->value); if ($this->getParameter('content.view_cache') !== true) { return; } $response = $visitor->getResponse(); $response->setPublic(); $response->setVary('Accept'); if ($this->getParameter('content.ttl_cache') === true) { $response->setSharedMaxAge($this->getParameter('content.default_ttl')); if (isset($this->request) && $this->request->headers->has('X-User-Hash')) { $response->setVary('X-User-Hash', false); } } if (isset($data->cacheTags['locationId'])) { $visitor->getResponse()->headers->set('X-Location-Id', $data->cacheTags['locationId']); } }
/** * Visit struct returned by controllers. * * @param \eZ\Publish\Core\REST\Common\Output\Visitor $visitor * @param \eZ\Publish\Core\REST\Common\Output\Generator $generator * @param \Netgen\TagsBundle\Core\REST\Server\Values\CachedValue $data */ public function visit(Visitor $visitor, Generator $generator, $data) { $visitor->visitValueObject($data->value); if ($this->getParameter('tag_view.cache', 'eztags') !== true) { return; } $response = $visitor->getResponse(); $response->setPublic(); $response->setVary('Accept'); if ($this->getParameter('tag_view.ttl_cache', 'eztags') === true) { $response->setSharedMaxAge($this->getParameter('tag_view.default_ttl', 'eztags')); $request = $this->getCurrentRequest(); if ($request instanceof Request && $request->headers->has('X-User-Hash')) { $response->setVary('X-User-Hash', false); } } if (isset($data->cacheTags['tagId'])) { $response->headers->set('X-Tag-Id', $data->cacheTags['tagId']); } if (isset($data->cacheTags['tagKeyword'])) { $response->headers->set('X-Tag-Keyword', $data->cacheTags['tagKeyword']); } }