namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-use Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface;
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
+use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface;
use Symfony\Component\HttpKernel\Controller\ControllerResolverInterface;
-use Symfony\Component\EventDispatcher\EventDispatcher;
+use Symfony\Component\HttpKernel\HttpKernel;
+use Symfony\Component\HttpKernel\HttpKernelInterface;
class TestHttpKernel extends HttpKernel implements ControllerResolverInterface, ArgumentResolverInterface
{
parent::__construct(new EventDispatcher(), $this, null, $this);
}
- public function getBackendRequest()
+ public function assert(\Closure $callback)
{
- return $this->backendRequest;
+ $trustedConfig = array(Request::getTrustedProxies(), Request::getTrustedHeaderSet());
+
+ list($trustedProxies, $trustedHeaderSet, $backendRequest) = $this->backendRequest;
+ Request::setTrustedProxies($trustedProxies, $trustedHeaderSet);
+
+ try {
+ $callback($backendRequest);
+ } finally {
+ list($trustedProxies, $trustedHeaderSet) = $trustedConfig;
+ Request::setTrustedProxies($trustedProxies, $trustedHeaderSet);
+ }
}
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = false)
{
$this->catch = $catch;
- $this->backendRequest = $request;
+ $this->backendRequest = array(Request::getTrustedProxies(), Request::getTrustedHeaderSet(), $request);
return parent::handle($request, $type, $catch);
}