Symfony2 ESI: ответы, помеченные как общедоступные, даже если подзапросы включают частный ответ

Я включил ESI для своего проекта Symfony и пытаюсь обслуживать мою домашнюю страницу, помеченную как общедоступную, которая включает частный фрагмент.

Контроллер домашней страницы:

$response = $this->render("myMainBundle:Page:home.html.twig", $data);
$response->setSharedMaxAge(60*60); //cache for 1 hour
return $response;

Просмотр домашней страницы:

{{ render_esi(controller('myMainBundle:Esi:homeHeaderNavigation')) }}

Контроллер ESI:

$response = $this->render("myMainBundle:Esi:home_header_navigation.html.twig");
$response->setPrivate(); //no not cache
return $response;

Локально в режиме отладки моя домашняя страница обслуживается встроенным контентом, но ответ помечается как открытый, даже если включенный фрагмент помечается как закрытый.
Разве это не должно быть частным?

3

Решение

я использую Hinclude (Symfony Docs), так что я могу сделать это

{{ render_hinclude(controller('...')) }}

и иметь разные правила кэширования для каждого маршрута.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]