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