[2.2] Pass ESI header to subrequests
This commit is contained in:
parent
8d0cb78fbf
commit
af819a7145
@ -90,6 +90,9 @@ class InlineFragmentRenderer extends RoutableFragmentRenderer
|
|||||||
$server['REMOTE_ADDR'] = '127.0.0.1';
|
$server['REMOTE_ADDR'] = '127.0.0.1';
|
||||||
|
|
||||||
$subRequest = $request::create($uri, 'get', array(), $cookies, array(), $server);
|
$subRequest = $request::create($uri, 'get', array(), $cookies, array(), $server);
|
||||||
|
if ($request->headers->has('Surrogate-Capability')) {
|
||||||
|
$subRequest->headers->set('Surrogate-Capability', $request->headers->get('Surrogate-Capability'));
|
||||||
|
}
|
||||||
if ($session = $request->getSession()) {
|
if ($session = $request->getSession()) {
|
||||||
$subRequest->setSession($session);
|
$subRequest->setSession($session);
|
||||||
}
|
}
|
||||||
|
@ -137,4 +137,23 @@ class InlineFragmentRendererTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
$this->assertEquals('Foo', ob_get_clean());
|
$this->assertEquals('Foo', ob_get_clean());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testESIHeaderIsKeptInSubrequest()
|
||||||
|
{
|
||||||
|
$expectedSubRequest = Request::create('/');
|
||||||
|
$expectedSubRequest->headers->set('Surrogate-Capability', 'abc="ESI/1.0"');
|
||||||
|
|
||||||
|
$kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
|
||||||
|
$kernel
|
||||||
|
->expects($this->any())
|
||||||
|
->method('handle')
|
||||||
|
->with($expectedSubRequest)
|
||||||
|
;
|
||||||
|
|
||||||
|
$strategy = new InlineFragmentRenderer($kernel);
|
||||||
|
|
||||||
|
$request = Request::create('/');
|
||||||
|
$request->headers->set('Surrogate-Capability', 'abc="ESI/1.0"');
|
||||||
|
$strategy->render('/', $request);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user