8000 merged branch fabpot/esi-fragment-handler (PR #8730) · daifma/symfony@5ca93a5 · GitHub
[go: up one dir, main page]

Skip to content

Commit 5ca93a5

Browse files
committed
merged branch fabpot/esi-fragment-handler (PR symfony#8730)
This PR was merged into the master branch. Discussion ---------- changed the ESI fragment renderer to be always registered | Q | A | ------------- | --- | Bug fix? | no | New feature? | yes | BC breaks? | no | Deprecations? | no | Tests pass? | yes | License | MIT This is an alternative implementation for symfony#8427 Commits ------- 09f727b changed the ESI fragment renderer to be always registered
2 parents 6b32c36 + 09f727b commit 5ca93a5

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

src/Symfony/Bundle/FrameworkBundle/Resources/config/esi.xml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
<parameters>
88
<parameter key="esi.class">Symfony\Component\HttpKernel\HttpCache\Esi</parameter>
99
<parameter key="esi_listener.class">Symfony\Component\HttpKernel\EventListener\EsiListener</parameter>
10-
<parameter key="fragment.renderer.esi.class">Symfony\Component\HttpKernel\Fragment\EsiFragmentRenderer</parameter>
1110
</parameters>
1211

1312
<services>
@@ -17,12 +16,5 @@
1716
<tag name="kernel.event_subscriber" />
1817
<argument type="service" id="esi" on-invalid="ignore" />
1918
</service>
20-
21-
<service id="fragment.renderer.esi" class="%fragment.renderer.esi.class%">
22-
<tag name="kernel.fragment_renderer" />
23-
<argument type="service" id="esi" />
24-
<argument type="service" id="fragment.renderer.inline" />
25-
<call method="setFragmentPath"><argument>%fragment.path%</argument></call>
26-
</service>
2719
</services>
2820
</container>

src/Symfony/Bundle/FrameworkBundle/Resources/config/fragment_renderer.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<parameter key="fragment.renderer.inline.class">Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer</parameter>
1010
<parameter key="fragment.renderer.hinclude.class">Symfony\Bundle\FrameworkBundle\Fragment\ContainerAwareHIncludeFragmentRenderer</parameter>
1111
<parameter key="fragment.renderer.hinclude.global_template"></parameter>
12+
<parameter key="fragment.renderer.esi.class">Symfony\Component\HttpKernel\Fragment\EsiFragmentRenderer</parameter>
1213
<parameter key="fragment.path">/_fragment</parameter>
1314
</parameters>
1415

@@ -33,5 +34,12 @@
3334
<argument>%fragment.renderer.hinclude.global_template%</argument>
3435
<call method="setFragmentPath"><argument>%fragment.path%</argument></call>
3536
</service>
37+
38+
<service id="fragment.renderer.esi" class="%fragment.renderer.esi.class%">
39+
<tag name="kernel.fragment_renderer" />
40+
<argument type="service" id="esi" on-invalid="null" />
41+
<argument type="service" id="fragment.renderer.inline" />
42+
<call method="setFragmentPath"><argument>%fragment.path%</argument></call>
43+
</service>
3644
</services>
3745
</container>

src/Symfony/Component/HttpKernel/Fragment/EsiFragmentRenderer.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class EsiFragmentRenderer extends RoutableFragmentRenderer
3535
* @param Esi $esi An Esi instance
3636
* @param InlineFragmentRenderer $inlineStrategy The inline strategy to use when ESI is not supported
3737
*/
38-
public function __construct(Esi $esi, InlineFragmentRenderer $inlineStrategy)
38+
public function __construct(Esi $esi = null, InlineFragmentRenderer $inlineStrategy)
3939
{
4040
$this->esi = $esi;
4141
$this->inlineStrategy = $inlineStrategy;
@@ -56,7 +56,7 @@ public function __construct(Esi $esi, InlineFragmentRenderer $inlineStrategy)
5656
*/
5757
public function render($uri, Request $request, array $options = array())
5858
{
59-
if (!$this->esi->hasSurrogateEsiCapability($request)) {
59+
if (!$this->esi || !$this->esi->hasSurrogateEsiCapability($request)) {
6060
return $this->inlineStrategy->render($uri, $request, $options);
6161
}
6262

0 commit comments

Comments
 (0)
0