Add parameters for Request::__construct
This commit is contained in:
parent
4d5430e589
commit
cee55cada0
|
|
@ -3,12 +3,13 @@
|
||||||
namespace WellRESTed\Message;
|
namespace WellRESTed\Message;
|
||||||
|
|
||||||
use Psr\Http\Message\RequestInterface;
|
use Psr\Http\Message\RequestInterface;
|
||||||
|
use Psr\Http\Message\StreamInterface;
|
||||||
use Psr\Http\Message\UriInterface;
|
use Psr\Http\Message\UriInterface;
|
||||||
|
|
||||||
class Request extends Message implements RequestInterface
|
class Request extends Message implements RequestInterface
|
||||||
{
|
{
|
||||||
/** @var string */
|
/** @var string */
|
||||||
protected $method = "GET";
|
protected $method;
|
||||||
/** @var string */
|
/** @var string */
|
||||||
protected $requestTarget;
|
protected $requestTarget;
|
||||||
/** @var UriInterface */
|
/** @var UriInterface */
|
||||||
|
|
@ -16,12 +17,41 @@ class Request extends Message implements RequestInterface
|
||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
public function __construct()
|
/**
|
||||||
{
|
* @param UriInterface $uri
|
||||||
|
* @param string $method
|
||||||
|
* @param array $headers
|
||||||
|
* @param StreamInterface $body
|
||||||
|
*/
|
||||||
|
public function __construct(
|
||||||
|
UriInterface $uri = null,
|
||||||
|
$method = "GET",
|
||||||
|
array $headers = null,
|
||||||
|
StreamInterface $body = null
|
||||||
|
) {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
|
|
||||||
|
if ($uri !== null) {
|
||||||
|
$this->uri = $uri;
|
||||||
|
} else {
|
||||||
$this->uri = new Uri();
|
$this->uri = new Uri();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->method = $method;
|
||||||
|
|
||||||
|
if ($headers) {
|
||||||
|
foreach ($headers as $name => $values) {
|
||||||
|
foreach ($values as $value) {
|
||||||
|
$this->headers[$name] = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($body !== null) {
|
||||||
|
$this->body = $body;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function __clone()
|
public function __clone()
|
||||||
{
|
{
|
||||||
$this->uri = clone $this->uri;
|
$this->uri = clone $this->uri;
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ use WellRESTed\Message\Uri;
|
||||||
class RequestTest extends \PHPUnit_Framework_TestCase
|
class RequestTest extends \PHPUnit_Framework_TestCase
|
||||||
{
|
{
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
|
// Construction
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers WellRESTed\Message\Request::__construct
|
* @covers WellRESTed\Message\Request::__construct
|
||||||
|
|
@ -25,6 +26,48 @@ class RequestTest extends \PHPUnit_Framework_TestCase
|
||||||
$this->assertNotNull($request);
|
$this->assertNotNull($request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers WellRESTed\Message\Request::__construct
|
||||||
|
*/
|
||||||
|
public function testCreatesInstanceWithUri()
|
||||||
|
{
|
||||||
|
$uri = $this->prophesize('Psr\Http\Message\UriInterface');
|
||||||
|
$uri = $uri->reveal();
|
||||||
|
$request = new Request($uri);
|
||||||
|
$this->assertSame($uri, $request->getUri());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers WellRESTed\Message\Request::__construct
|
||||||
|
*/
|
||||||
|
public function testCreatesInstanceWithMethod()
|
||||||
|
{
|
||||||
|
$method = "POST";
|
||||||
|
$request = new Request(null, $method);
|
||||||
|
$this->assertSame($method, $request->getMethod());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers WellRESTed\Message\Request::__construct
|
||||||
|
*/
|
||||||
|
public function testSetsHeadersOnConstruction()
|
||||||
|
{
|
||||||
|
$request = new Request(null, null, [
|
||||||
|
"X-foo" => ["bar","baz"]
|
||||||
|
]);
|
||||||
|
$this->assertEquals(["bar","baz"], $request->getHeader("X-foo"));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers WellRESTed\Message\Request::__construct
|
||||||
|
*/
|
||||||
|
public function testSetsBodyOnConstruction()
|
||||||
|
{
|
||||||
|
$body = $this->prophesize('\Psr\Http\Message\StreamInterface');
|
||||||
|
$request = new Request(null, null, [], $body->reveal());
|
||||||
|
$this->assertSame($body->reveal(), $request->getBody());
|
||||||
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
// Request Target
|
// Request Target
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue