* * 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:----HHkCjPlMaK2PQiTFM7kodQKNM0A4BvbctKzYc/847QBb6NCmSb0OUIx6yBgupcrmlcLmXnqjZPfTlyJ+dPnq9Nni+s9YnWm/FsKOVR66906JIVrrPYFICZQguLbCKH6M8ff+nYOQju/Tj5AL7GSU4H0i0GhO97LJWXDkBd0Y9r1rIanIL9jmIdbQ/t5ip9OH6+gd8mtoo6Y5kJbbrJb2dj3+z+PjuJSqi43TQM6XVA7jFz7WBiuDOS6jLeY/xy/B/Qfqtk9vFqp07xY56wDzzN7q6G3f4cES+HSELH9RlvZSezzZbcA1mKuhmLerk9xN13DEBSBm0XPkueWye+sJrCVCSy5oPFmEIZLiuAixkXBDXVxJKr3y51dhxByHF5sT3R32mgzooAZvkpdeGS3rWL+sVknG/OrK5wK+gXSjGS3d377GQg0u+fWKWL3HnPzaaQ0BfAmrUjXYVXvfsnlT1RQ0lJ+R/pIpiT1SdELYlVA0D5ptZ4oj2J5XOXzLdqKfGH/mIOvjXQz7rsuVDsMEWxYEFbE/wK3MENdM25z51tqZrzjvvzU9t2hx/JfTTGRCRr7uM86r5xtIL78P/3mGorZfoVMOJjRL2SXoWys8FXUhXdVl9drdhxtJohZ5AuqI9YwavLyxE8PbCoKeDNl6qEP4/CfB8g9Tqb7BGTXorl8=----ATTACHMENT:----NTQzMDc5MTEyMzMwOTkxMCA3Njk3MjA3ODQwNzc0NTM2IDczMDMzMjAwNTQxMDc5OTU=