From ffe65db5f5a33b9a999dbb35b5a97c7514d8a085 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 10 Sep 2014 20:16:43 +0200 Subject: [PATCH] added getUri to Request --- src/HttpRequest.php | 11 +++++++++++ test/Unit/HttpRequestTest.php | 21 +++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/HttpRequest.php b/src/HttpRequest.php index 821d116..a722b5a 100644 --- a/src/HttpRequest.php +++ b/src/HttpRequest.php @@ -100,6 +100,17 @@ public function getFiles() return $this->files; } + /** + * The URI which was given in order to access this page + * + * @return string + * @throws MissingRequestMetaVariableException + */ + public function getUri() + { + return $this->getServerVariable('REQUEST_URI'); + } + /** * Which request method was used to access the page; * i.e. 'GET', 'HEAD', 'POST', 'PUT'. diff --git a/test/Unit/HttpRequestTest.php b/test/Unit/HttpRequestTest.php index 587ae71..2348979 100644 --- a/test/Unit/HttpRequestTest.php +++ b/test/Unit/HttpRequestTest.php @@ -162,6 +162,27 @@ public function testGetMethodException() $request->getMethod(); } + public function testGetUri() + { + $server = ['REQUEST_URI' => '/test']; + + $request = new HttpRequest([], [], [], [], $server); + + $this->assertEquals( + $request->getUri(), + $server['REQUEST_URI'] + ); + } + + /** + * @expectedException Http\MissingRequestMetaVariableException + */ + public function testGetUriException() + { + $request = new HttpRequest([], [], [], [], []); + $request->getUri(); + } + public function testGetHttpAccept() { $server = ['HTTP_ACCEPT' => 'Accept: audio/*; q=0.2, audio/basic'];