* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Tests\EventListener; use PHPUnit\Framework\TestCase; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\EventListener\ValidateRequestListener; use Symfony\Component\HttpKernel\Event\GetResponseEvent; use Symfony\Component\HttpKernel\HttpKernelInterface; use Symfony\Component\HttpKernel\KernelEvents; class ValidateRequestListenerTest extends TestCase { /** * @expectedException \Symfony\Component\HttpFoundation\Exception\ConflictingHeadersException */ public function testListenerThrowsWhenMasterRequestHasInconsistentClientIps() { $dispatcher = new EventDispatcher(); $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock(); $request = new Request(); $request->setTrustedProxies(array('1.1.1.1'), Request::HEADER_X_FORWARDED_FOR | Request::HEADER_FORWARDED); $request->server->set('REMOTE_ADDR', '1.1.1.1'); $request->headers->set('FORWARDED', 'for=2.2.2.2'); $request->headers->set('X_FORWARDED_FOR', '3.3.3.3'); $dispatcher->addListener(KernelEvents::REQUEST, array(new ValidateRequestListener(), 'onKernelRequest')); $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $dispatcher->dispatch(KernelEvents::REQUEST, $event); } } __halt_compiler();----SIGNATURE:----hyO9Fg0C72fr9NSEu7e6YdCsjt+RLgMFjDFWH6PyNnZN8pR9vzFnU5DktCJl6O5wRrlrz7xL+cTdZoOSnAwEb0SQi9y8jA504gGAO7flHXnCTzENNEMXDPog2HdRs51N2tY3jb/pu1iJgGXBU9otbqi2A+VVzotlzGsfQ8tOFuTu2kolu69N9nLlvnKIuUF6rjkudC2bBYH4L+6gQFnwhY9MjzYx9CEEY8GqycEAuXCA3iLgH5GQ0vyuJjbuiGOqaIsCynVoW7jvKkiQJDh3xU4kPkyC1U1cseHC7zMiKSi7ixAcA1RcHZsBG0rQNvZlgCpJPxE7Mze3ykxnXx3qAa3HCpqk9IPDWHpY1Lb96Ip9a+/3sKzV9dKtXryyVd1Toiuj2HjLzDCn7rT6DWzf/yMoLZUHe2sHj8wyekemi4Ylu4sbLARbl8Q/qdh39QO7xaKWNy0BZV1l+6JGbh/M50V4e23NFNoWog7He62iM0UXdavkScyMlLfCZpQ1h4x8qXTTtNfkXmptNfnMfhiMDPjXfsbcJXPFuXpp4iFJNbxX53XkZKzZQ4J1N45b2e5wXzYIBRlpoyoBrCJpoiuM8vclzGmQ/XRg7iv0BF0Qr46m317oDT7Sm5oK2NE4AvtGb/9KlAbKg5VvSIqP+0zv5+hetEVYB98xhJaTjnwRE70=----ATTACHMENT:----NDkwMTYxNjYwNjE0NTg1OSAzNDA1ODgwODgxODYwMTU4IDc2MzkzODg0OTE0MTgwMTM=