Allow passing attributes into ServerRequest::getServerRequest
Remove other methods relating to the server request.
This commit is contained in:
parent
7cb6304037
commit
51e1be92fd
|
|
@ -286,16 +286,6 @@ class ServerRequest extends Request implements ServerRequestInterface
|
||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new instance based on the request sent to the server.
|
|
||||||
*/
|
|
||||||
public function withServerRequest($options = null)
|
|
||||||
{
|
|
||||||
$request = clone $this;
|
|
||||||
self::updateWithServerRequest($request);
|
|
||||||
return $request;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function __clone()
|
public function __clone()
|
||||||
{
|
{
|
||||||
if (is_object($this->parsedBody)) {
|
if (is_object($this->parsedBody)) {
|
||||||
|
|
@ -311,22 +301,10 @@ class ServerRequest extends Request implements ServerRequestInterface
|
||||||
* @return self
|
* @return self
|
||||||
* @static
|
* @static
|
||||||
*/
|
*/
|
||||||
public static function getServerRequest()
|
public static function getServerRequest(array $attributes = null)
|
||||||
{
|
|
||||||
if (!isset(self::$serverRequest)) {
|
|
||||||
$request = new self();
|
|
||||||
self::updateWithServerRequest($request);
|
|
||||||
self::$serverRequest = $request;
|
|
||||||
}
|
|
||||||
return self::$serverRequest;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the members of the passed request based on the request sent to the server.
|
|
||||||
* @param self $request
|
|
||||||
*/
|
|
||||||
private function updateWithServerRequest(&$request)
|
|
||||||
{
|
{
|
||||||
|
$request = new self();
|
||||||
|
$request->attributes = $attributes ?: [];
|
||||||
$request->serverParams = $_SERVER;
|
$request->serverParams = $_SERVER;
|
||||||
$request->cookieParams = $_COOKIE;
|
$request->cookieParams = $_COOKIE;
|
||||||
$request->fileParams = $_FILES;
|
$request->fileParams = $_FILES;
|
||||||
|
|
@ -342,6 +320,7 @@ class ServerRequest extends Request implements ServerRequestInterface
|
||||||
if ($contentType === "application/x-www-form-urlencoded" || $contentType === "multipart/form-data") {
|
if ($contentType === "application/x-www-form-urlencoded" || $contentType === "multipart/form-data") {
|
||||||
$request->parsedBody = $_POST;
|
$request->parsedBody = $_POST;
|
||||||
}
|
}
|
||||||
|
return $request;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers WellRESTed\Message\ServerRequest::getServerRequest
|
* @covers WellRESTed\Message\ServerRequest::getServerRequest
|
||||||
* @covers WellRESTed\Message\ServerRequest::updateWithServerRequest
|
|
||||||
* @covers WellRESTed\Message\ServerRequest::getServerRequestHeaders
|
* @covers WellRESTed\Message\ServerRequest::getServerRequestHeaders
|
||||||
* @uses WellRESTed\Message\ServerRequest::__construct
|
* @uses WellRESTed\Message\ServerRequest::__construct
|
||||||
* @uses WellRESTed\Message\ServerRequest::__clone
|
* @uses WellRESTed\Message\ServerRequest::__clone
|
||||||
|
|
@ -33,6 +32,7 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||||
$_SERVER = [
|
$_SERVER = [
|
||||||
"HTTP_HOST" => "localhost",
|
"HTTP_HOST" => "localhost",
|
||||||
"HTTP_ACCEPT" => "application/json",
|
"HTTP_ACCEPT" => "application/json",
|
||||||
|
"HTTP_CONTENT_TYPE" => "application/x-www-form-urlencoded",
|
||||||
"QUERY_STRING" => "guinea_pig=Claude&hamster=Fizzgig"
|
"QUERY_STRING" => "guinea_pig=Claude&hamster=Fizzgig"
|
||||||
];
|
];
|
||||||
$_COOKIE = [
|
$_COOKIE = [
|
||||||
|
|
@ -47,50 +47,17 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||||
"size" => 98174
|
"size" => 98174
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
$request = ServerRequest::getServerRequest();
|
$_POST = [
|
||||||
$this->assertNotNull($request);
|
"dog" => "Bear"
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @covers WellRESTed\Message\ServerRequest::withServerRequest
|
|
||||||
* @covers WellRESTed\Message\ServerRequest::updateWithServerRequest
|
|
||||||
* @covers WellRESTed\Message\ServerRequest::getServerRequestHeaders
|
|
||||||
* @uses WellRESTed\Message\ServerRequest::__construct
|
|
||||||
* @uses WellRESTed\Message\ServerRequest::__clone
|
|
||||||
* @uses WellRESTed\Message\Request
|
|
||||||
* @uses WellRESTed\Message\Message
|
|
||||||
* @uses WellRESTed\Message\HeaderCollection
|
|
||||||
* @preserveGlobalState disabled
|
|
||||||
*/
|
|
||||||
public function testWithServerRequestReadsFromRequest()
|
|
||||||
{
|
|
||||||
$_SERVER = [
|
|
||||||
"HTTP_HOST" => "localhost",
|
|
||||||
"HTTP_ACCEPT" => "application/json",
|
|
||||||
"QUERY_STRING" => "guinea_pig=Claude&hamster=Fizzgig"
|
|
||||||
];
|
];
|
||||||
$_COOKIE = [
|
$request = ServerRequest::getServerRequest(["guinea_pig" => "Claude"]);
|
||||||
"cat" => "Molly"
|
|
||||||
];
|
|
||||||
$_FILES = [
|
|
||||||
"file" => [
|
|
||||||
"name" => "MyFile.jpg",
|
|
||||||
"type" => "image/jpeg",
|
|
||||||
"tmp_name" => "/tmp/php/php6hst32",
|
|
||||||
"error" => "UPLOAD_ERR_OK",
|
|
||||||
"size" => 98174
|
|
||||||
]
|
|
||||||
];
|
|
||||||
$request = new ServerRequest();
|
|
||||||
$request = $request->withServerRequest();
|
|
||||||
$this->assertNotNull($request);
|
$this->assertNotNull($request);
|
||||||
return $request;
|
return $request;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers WellRESTed\Message\ServerRequest::getServerParams
|
* @covers WellRESTed\Message\ServerRequest::getServerParams
|
||||||
* @preserveGlobalState disabled
|
* @depends testGetServerRequestReadsFromRequest
|
||||||
* @depends testWithServerRequestReadsFromRequest
|
|
||||||
*/
|
*/
|
||||||
public function testServerRequestProvidesServerParams($request)
|
public function testServerRequestProvidesServerParams($request)
|
||||||
{
|
{
|
||||||
|
|
@ -100,8 +67,7 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers WellRESTed\Message\ServerRequest::getCookieParams
|
* @covers WellRESTed\Message\ServerRequest::getCookieParams
|
||||||
* @preserveGlobalState disabled
|
* @depends testGetServerRequestReadsFromRequest
|
||||||
* @depends testWithServerRequestReadsFromRequest
|
|
||||||
*/
|
*/
|
||||||
public function testServerRequestProvidesCookieParams($request)
|
public function testServerRequestProvidesCookieParams($request)
|
||||||
{
|
{
|
||||||
|
|
@ -111,8 +77,7 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers WellRESTed\Message\ServerRequest::getQueryParams
|
* @covers WellRESTed\Message\ServerRequest::getQueryParams
|
||||||
* @preserveGlobalState disabled
|
* @depends testGetServerRequestReadsFromRequest
|
||||||
* @depends testWithServerRequestReadsFromRequest
|
|
||||||
*/
|
*/
|
||||||
public function testServerRequestProvidesQueryParams($request)
|
public function testServerRequestProvidesQueryParams($request)
|
||||||
{
|
{
|
||||||
|
|
@ -122,8 +87,7 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers WellRESTed\Message\ServerRequest::getFileParams
|
* @covers WellRESTed\Message\ServerRequest::getFileParams
|
||||||
* @preserveGlobalState disabled
|
* @depends testGetServerRequestReadsFromRequest
|
||||||
* @depends testWithServerRequestReadsFromRequest
|
|
||||||
*/
|
*/
|
||||||
public function testServerRequestProvidesFilesParams($request)
|
public function testServerRequestProvidesFilesParams($request)
|
||||||
{
|
{
|
||||||
|
|
@ -132,12 +96,11 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers WellRESTed\Message\ServerRequest::getFileParams
|
* @covers WellRESTed\Message\ServerRequest::getHeader
|
||||||
* @uses WellRESTed\Message\Request
|
* @uses WellRESTed\Message\Request
|
||||||
* @uses WellRESTed\Message\Message
|
* @uses WellRESTed\Message\Message
|
||||||
* @uses WellRESTed\Message\HeaderCollection
|
* @uses WellRESTed\Message\HeaderCollection
|
||||||
* @preserveGlobalState disabled
|
* @depends testGetServerRequestReadsFromRequest
|
||||||
* @depends testWithServerRequestReadsFromRequest
|
|
||||||
*/
|
*/
|
||||||
public function testServerRequestProvidesHeaders($request)
|
public function testServerRequestProvidesHeaders($request)
|
||||||
{
|
{
|
||||||
|
|
@ -145,14 +108,26 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||||
$this->assertEquals("application/json", $request->getHeader("Accept"));
|
$this->assertEquals("application/json", $request->getHeader("Accept"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers WellRESTed\Message\ServerRequest::getAttribute
|
||||||
|
* @uses WellRESTed\Message\Request
|
||||||
|
* @uses WellRESTed\Message\Message
|
||||||
|
* @uses WellRESTed\Message\HeaderCollection
|
||||||
|
* @depends testGetServerRequestReadsFromRequest
|
||||||
|
*/
|
||||||
|
public function testServerRequestProvidesAttributesIfPassed($request)
|
||||||
|
{
|
||||||
|
/** @var ServerRequest $request */
|
||||||
|
$this->assertEquals("Claude", $request->getAttribute("guinea_pig"));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers WellRESTed\Message\ServerRequest::withCookieParams
|
* @covers WellRESTed\Message\ServerRequest::withCookieParams
|
||||||
* @uses WellRESTed\Message\ServerRequest::getCookieParams
|
* @uses WellRESTed\Message\ServerRequest::getCookieParams
|
||||||
* @uses WellRESTed\Message\ServerRequest::__clone
|
* @uses WellRESTed\Message\ServerRequest::__clone
|
||||||
* @uses WellRESTed\Message\Request
|
* @uses WellRESTed\Message\Request
|
||||||
* @uses WellRESTed\Message\Message
|
* @uses WellRESTed\Message\Message
|
||||||
* @preserveGlobalState disabled
|
* @depends testGetServerRequestReadsFromRequest
|
||||||
* @depends testWithServerRequestReadsFromRequest
|
|
||||||
*/
|
*/
|
||||||
public function testWithCookieParamsCreatesNewInstance($request1)
|
public function testWithCookieParamsCreatesNewInstance($request1)
|
||||||
{
|
{
|
||||||
|
|
@ -170,8 +145,7 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||||
* @uses WellRESTed\Message\ServerRequest::__clone
|
* @uses WellRESTed\Message\ServerRequest::__clone
|
||||||
* @uses WellRESTed\Message\Request
|
* @uses WellRESTed\Message\Request
|
||||||
* @uses WellRESTed\Message\Message
|
* @uses WellRESTed\Message\Message
|
||||||
* @preserveGlobalState disabled
|
* @depends testGetServerRequestReadsFromRequest
|
||||||
* @depends testWithServerRequestReadsFromRequest
|
|
||||||
*/
|
*/
|
||||||
public function testWithQueryParamsCreatesNewInstance($request1)
|
public function testWithQueryParamsCreatesNewInstance($request1)
|
||||||
{
|
{
|
||||||
|
|
@ -184,12 +158,33 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @covers WellRESTed\Message\ServerRequest::withParsedBody
|
||||||
|
* @uses WellRESTed\Message\ServerRequest::getParsedBody
|
||||||
|
* @uses WellRESTed\Message\ServerRequest::getQueryParams
|
||||||
|
* @uses WellRESTed\Message\ServerRequest::__clone
|
||||||
|
* @uses WellRESTed\Message\Request
|
||||||
|
* @uses WellRESTed\Message\Message
|
||||||
|
* @depends testGetServerRequestReadsFromRequest
|
||||||
|
*/
|
||||||
|
public function testWithParsedBodyCreatesNewInstance($request1)
|
||||||
|
{
|
||||||
|
/** @var ServerRequest $request1 */
|
||||||
|
$body1 = $request1->getParsedBody();
|
||||||
|
|
||||||
|
$request2 = $request1->withParsedBody([
|
||||||
|
"guinea_pig" => "Clyde"
|
||||||
|
]);
|
||||||
|
$body2 = $request2->getParsedBody();
|
||||||
|
|
||||||
|
$this->assertEquals("Bear", $body1["dog"]);
|
||||||
|
$this->assertEquals("Clyde", $body2["guinea_pig"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers WellRESTed\Message\ServerRequest::getServerRequest
|
||||||
* @covers WellRESTed\Message\ServerRequest::getParsedBody
|
* @covers WellRESTed\Message\ServerRequest::getParsedBody
|
||||||
* @covers WellRESTed\Message\ServerRequest::updateWithServerRequest
|
|
||||||
* @uses WellRESTed\Message\ServerRequest::__construct
|
* @uses WellRESTed\Message\ServerRequest::__construct
|
||||||
* @uses WellRESTed\Message\ServerRequest::__clone
|
* @uses WellRESTed\Message\ServerRequest::__clone
|
||||||
* @uses WellRESTed\Message\ServerRequest::withServerRequest
|
|
||||||
* @uses WellRESTed\Message\ServerRequest::updateWithServerRequest
|
|
||||||
* @uses WellRESTed\Message\ServerRequest::getServerRequestHeaders
|
* @uses WellRESTed\Message\ServerRequest::getServerRequestHeaders
|
||||||
* @uses WellRESTed\Message\Request
|
* @uses WellRESTed\Message\Request
|
||||||
* @uses WellRESTed\Message\Message
|
* @uses WellRESTed\Message\Message
|
||||||
|
|
@ -197,7 +192,7 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||||
* @preserveGlobalState disabled
|
* @preserveGlobalState disabled
|
||||||
* @dataProvider formContentTypeProvider
|
* @dataProvider formContentTypeProvider
|
||||||
*/
|
*/
|
||||||
public function testGetParsedBodyReturnsFormFieldsForUrlencodedForm($contentType)
|
public function testGetServerRequestParsesFormBody($contentType)
|
||||||
{
|
{
|
||||||
$_SERVER = [
|
$_SERVER = [
|
||||||
"HTTP_HOST" => "localhost",
|
"HTTP_HOST" => "localhost",
|
||||||
|
|
@ -208,8 +203,7 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||||
$_POST = [
|
$_POST = [
|
||||||
"dog" => "Bear"
|
"dog" => "Bear"
|
||||||
];
|
];
|
||||||
$request = new ServerRequest();
|
$request = ServerRequest::getServerRequest();
|
||||||
$request = $request->withServerRequest();
|
|
||||||
$this->assertEquals("Bear", $request->getParsedBody()["dog"]);
|
$this->assertEquals("Bear", $request->getParsedBody()["dog"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -221,43 +215,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @covers WellRESTed\Message\ServerRequest::withParsedBody
|
|
||||||
* @uses WellRESTed\Message\ServerRequest::getParsedBody
|
|
||||||
* @uses WellRESTed\Message\ServerRequest::__construct
|
|
||||||
* @uses WellRESTed\Message\ServerRequest::__clone
|
|
||||||
* @uses WellRESTed\Message\ServerRequest::withServerRequest
|
|
||||||
* @uses WellRESTed\Message\ServerRequest::updateWithServerRequest
|
|
||||||
* @uses WellRESTed\Message\ServerRequest::getServerRequestHeaders
|
|
||||||
* @uses WellRESTed\Message\Request
|
|
||||||
* @uses WellRESTed\Message\Message
|
|
||||||
* @uses WellRESTed\Message\HeaderCollection
|
|
||||||
* @preserveGlobalState disabled
|
|
||||||
*/
|
|
||||||
public function testWithParsedBodyCreatesNewInstance()
|
|
||||||
{
|
|
||||||
$_SERVER = [
|
|
||||||
"HTTP_HOST" => "localhost",
|
|
||||||
"HTTP_CONTENT_TYPE" => "application/x-www-form-urlencoded",
|
|
||||||
];
|
|
||||||
$_COOKIE = [];
|
|
||||||
$_FILES = [];
|
|
||||||
$_POST = [
|
|
||||||
"dog" => "Bear"
|
|
||||||
];
|
|
||||||
$request1 = new ServerRequest();
|
|
||||||
$request1 = $request1->withServerRequest();
|
|
||||||
$body1 = $request1->getParsedBody();
|
|
||||||
|
|
||||||
$request2 = $request1->withParsedBody([
|
|
||||||
"guinea_pig" => "Clyde"
|
|
||||||
]);
|
|
||||||
$body2 = $request2->getParsedBody();
|
|
||||||
|
|
||||||
$this->assertEquals("Bear", $body1["dog"]);
|
|
||||||
$this->assertEquals("Clyde", $body2["guinea_pig"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers WellRESTed\Message\ServerRequest::__clone
|
* @covers WellRESTed\Message\ServerRequest::__clone
|
||||||
* @uses WellRESTed\Message\ServerRequest::__construct
|
* @uses WellRESTed\Message\ServerRequest::__construct
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue