From 60e3bb85dddc0970633bcd7ed2be5cb5af314bdc Mon Sep 17 00:00:00 2001 From: samizdam Date: Fri, 25 Nov 2016 20:59:11 +0300 Subject: [PATCH] Factory new Request Url from url, instead path only: keep original request host, scheme, etc. --- src/Ratchet/Http/Router.php | 2 +- tests/unit/Http/RouterTest.php | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Ratchet/Http/Router.php b/src/Ratchet/Http/Router.php index e4aa790..7839295 100644 --- a/src/Ratchet/Http/Router.php +++ b/src/Ratchet/Http/Router.php @@ -55,7 +55,7 @@ class Router implements HttpServerInterface { } $parameters = array_merge($parameters, $request->getQuery()->getAll()); - $url = Url::factory($request->getPath()); + $url = Url::factory($request->getUrl()); $url->setQuery($parameters); $request->setUrl($url); diff --git a/tests/unit/Http/RouterTest.php b/tests/unit/Http/RouterTest.php index 5a1128e..2b07cf7 100644 --- a/tests/unit/Http/RouterTest.php +++ b/tests/unit/Http/RouterTest.php @@ -127,6 +127,7 @@ class RouterTest extends \PHPUnit_Framework_TestCase { ); $conn = $this->getMock('Ratchet\Mock\Connection'); + /**@var $request \Guzzle\Http\Message\Request */ $request = $this->getMock('Guzzle\Http\Message\Request', array('getPath'), array('GET', ''), '', false); $request->setHeaderFactory($this->getMock('Guzzle\Http\Message\Header\HeaderFactoryInterface')); @@ -136,5 +137,7 @@ class RouterTest extends \PHPUnit_Framework_TestCase { $router->onOpen($conn, $request); $this->assertEquals(array('foo' => 'nope', 'baz' => 'qux', 'hello' => 'world'), $request->getQuery()->getAll()); + $this->assertEquals('ws', $request->getScheme()); + $this->assertEquals('doesnt.matter', $request->getHost()); } }