allow nullable response init

This commit is contained in:
yggverse 2024-04-05 05:49:46 +03:00
parent d7d6083634
commit c38cdc841f

View File

@ -10,40 +10,43 @@ class Response
private ?string $_meta = null; private ?string $_meta = null;
private ?string $_body = null; private ?string $_body = null;
public function __construct(string $data) public function __construct(?string $data = null)
{ {
$match = []; if ($data)
preg_match(
'/(?<status>\d{2})\s(?<meta>.*)\r\n(?<body>.*)/su',
$data,
$match
);
if (isset($match['code']))
{ {
$code = (int) $match['code']; $match = [];
if ($code >= 10 && $code <= 69) preg_match(
'/(?<status>\d{2})\s(?<meta>.*)\r\n(?<body>.*)/su',
$data,
$match
);
if (isset($match['code']))
{ {
$this->setCode( $code = (int) $match['code'];
$code
if ($code >= 10 && $code <= 69)
{
$this->setCode(
$code
);
}
}
if (isset($match['meta']) && mb_strlen($match['meta']) <= 1024)
{
$this->setMeta(
(string) $match['meta']
); );
} }
}
if (isset($match['meta']) && mb_strlen($match['meta']) <= 1024) if (isset($match['body']))
{ {
$this->setMeta( $this->setBody(
(string) $match['meta'] (string) (string) $match['body']
); );
} }
if (isset($match['body']))
{
$this->setBody(
(string) (string) $match['body']
);
} }
} }