From e03e2cd0fa266a472f09afa1160e2c05da1f9380 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Sun, 21 Apr 2013 09:41:55 +0200 Subject: [PATCH] [HttpKernel] optimized previous merge --- .../HttpKernel/Fragment/InlineFragmentRenderer.php | 9 +++------ .../Tests/Fragment/InlineFragmentRendererTest.php | 12 +++++------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php b/src/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php index ae86eb4cb9..7c9a24a9a9 100644 --- a/src/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php +++ b/src/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php @@ -90,13 +90,10 @@ class InlineFragmentRenderer extends RoutableFragmentRenderer // Sub-request object will point to localhost as client ip and real client ip // will be included into trusted header for client ip try { - $headerClientIp = 'HTTP_' . Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP); + $trustedHeaderName = Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP); + $currentXForwardedFor = $request->headers->get($trustedHeaderName, ''); - $originalXForwardedFor = isset($server[$headerClientIp]) - ? $server[$headerClientIp] . ', ' - : ''; - - $server[$headerClientIp] = $originalXForwardedFor . $server['REMOTE_ADDR']; + $server['HTTP_'.$trustedHeaderName] = ($currentXForwardedFor ? $currentXForwardedFor.', ' : '').$request->getClientIp(); } catch (\InvalidArgumentException $e) { // Do nothing } diff --git a/src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php b/src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php index 615b578cb3..365b9e392b 100644 --- a/src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php @@ -55,12 +55,8 @@ class InlineFragmentRendererTest extends \PHPUnit_Framework_TestCase '_format' => 'html', '_controller' => 'main_controller', )); - $subRequest->headers->add(array( - 'x-forwarded-for' => array('127.0.0.1'), - )); - $subRequest->server->add(array( - 'HTTP_X_FORWARDED_FOR' => '127.0.0.1', - )); + $subRequest->headers->set('x-forwarded-for', array('127.0.0.1')); + $subRequest->server->set('HTTP_X_FORWARDED_FOR', '127.0.0.1'); $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'); $kernel @@ -148,7 +144,9 @@ class InlineFragmentRendererTest extends \PHPUnit_Framework_TestCase { $expectedSubRequest = Request::create('/'); $expectedSubRequest->headers->set('Surrogate-Capability', 'abc="ESI/1.0"'); - + $expectedSubRequest->headers->set('x-forwarded-for', array('127.0.0.1')); + $expectedSubRequest->server->set('HTTP_X_FORWARDED_FOR', '127.0.0.1'); + $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'); $kernel ->expects($this->any())