cleanup request/response

This commit is contained in:
Dennis Eichhorn 2019-11-03 23:24:24 +01:00
parent 090b30bb58
commit 8b3173ed95
5 changed files with 79 additions and 110 deletions

View File

@ -33,6 +33,46 @@ use phpOMS\Uri\UriInterface;
*/
final class Request extends RequestAbstract
{
/**
* Uri.
*
* @var UriInterface
* @since 1.0.0
*/
protected UriInterface $uri;
/**
* Request method.
*
* @var null|string
* @since 1.0.0
*/
protected ?string $method = null;
/**
* Request type.
*
* @var null|string
* @since 1.0.0
*/
protected ?string $type = null;
/**
* Request hash.
*
* @var array
* @since 1.0.0
*/
protected array $hash = [];
/**
* Uploaded files.
*
* @var array
* @since 1.0.0
*/
protected array $files = [];
/**
* OS type.
*
@ -99,6 +139,45 @@ final class Request extends RequestAbstract
}
}
/**
* Get request uri.
*
* @return UriInterface
*
* @since 1.0.0
*/
public function getUri() : UriInterface
{
return $this->uri;
}
/**
* Get request hash.
*
* @return array
*
* @since 1.0.0
*/
public function getHash() : array
{
return $this->hash;
}
/**
* Set request method.
*
* @param string $method Request method
*
* @return void
*
* @since 1.0.0
*/
public function setMethod(string $method) : void
{
$this->method = $method;
}
/**
* Determine request OS.
*

View File

@ -1,33 +0,0 @@
<?php
/**
* Orange Management
*
* PHP Version 7.4
*
* @package phpOMS\Message
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://orange-management.org
*/
declare(strict_types=1);
namespace phpOMS\Message;
use phpOMS\Stdlib\Base\Enum;
/**
* Request source enum.
*
* @package phpOMS\Message
* @license OMS License 1.0
* @link https://orange-management.org
* @since 1.0.0
*/
abstract class RequestSource extends Enum
{
public const WEB = 0; /* This is a http request */
public const CONSOLE = 1; /* Request is a console command */
public const SOCKET = 2; /* Request through socket connection */
public const UNDEFINED = 3;
}

View File

@ -1,32 +0,0 @@
<?php
/**
* Orange Management
*
* PHP Version 7.4
*
* @package phpOMS\Message
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://orange-management.org
*/
declare(strict_types=1);
namespace phpOMS\Message;
use phpOMS\Stdlib\Base\Enum;
/**
* Response type enum.
*
* @package phpOMS\Message
* @license OMS License 1.0
* @link https://orange-management.org
* @since 1.0.0
*/
abstract class ResponseType extends Enum
{
public const HTTP = 0; /* HTTP */
public const SOCKET = 1; /* Socket */
public const CONSOLE = 2; /* Console */
}

View File

@ -33,7 +33,6 @@ class RequestTest extends \PHPUnit\Framework\TestCase
self::assertEquals('en', $request->getHeader()->getL11n()->getLanguage());
self::assertEquals(OSType::LINUX, $request->getOS());
self::assertEquals('127.0.0.1', $request->getOrigin());
self::assertEquals([], $request->getHash());
self::assertEmpty($request->getBody());
self::assertEquals(RouteVerb::GET, $request->getRouteVerb());
self::assertEquals(RequestMethod::GET, $request->getMethod());
@ -64,12 +63,6 @@ class RequestTest extends \PHPUnit\Framework\TestCase
self::assertEquals('get:some/test/path', $request->getUri()->__toString());
$request->createRequestHashs(0);
self::assertEquals([
'eb875812858d27b22cb2b75f992dffadc1b05c66',
'fa423b369272e7e19b2a5fa4eeba560e74c0d457',
'3e353695aa5bfa63bc373702a75865b3619c4c96',
], $request->getHash());
self::assertEquals($l11n, $request->getHeader()->getL11n());
self::assertTrue($request->setData('key', 'value'));
@ -77,11 +70,6 @@ class RequestTest extends \PHPUnit\Framework\TestCase
self::assertEquals('value', $request->getData('key'));
self::assertTrue($request->hasData('key'));
self::assertEquals(['key' => 'value'], $request->getData());
$request->setUri(new Argument('get:some/test/path2'));
$request->createRequestHashs(0);
self::assertEquals('get:some/test/path2', $request->__toString());
}
public function testToString() : void

View File

@ -1,33 +0,0 @@
<?php
/**
* Orange Management
*
* PHP Version 7.4
*
* @package tests
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://orange-management.org
*/
declare(strict_types=1);
namespace phpOMS\tests\Message;
require_once __DIR__ . '/../Autoloader.php';
use phpOMS\Message\ResponseType;
/**
* @internal
*/
class ResponseTypeTest extends \PHPUnit\Framework\TestCase
{
public function testEnums() : void
{
self::assertCount(3, ResponseType::getConstants());
self::assertEquals(0, ResponseType::HTTP);
self::assertEquals(1, ResponseType::SOCKET);
self::assertEquals(2, ResponseType::CONSOLE);
}
}