diff options
Diffstat (limited to 'src/messages/ResponseMessage.php')
-rw-r--r-- | src/messages/ResponseMessage.php | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/messages/ResponseMessage.php b/src/messages/ResponseMessage.php new file mode 100644 index 0000000..5101ed4 --- /dev/null +++ b/src/messages/ResponseMessage.php @@ -0,0 +1,69 @@ +<?php + +namespace jobd\messages; + +class ResponseMessage extends Message { + + protected $requestNo; + protected $error; + protected $data; + + /** + * Response constructor. + * + * @param int $request_no + * @param null $error + * @param null $data + */ + public function __construct(int $request_no, $error = null, $data = null) + { + parent::__construct(Message::RESPONSE); + + $this->requestNo = $request_no; + $this->error = $error; + $this->data = $data; + } + + /** + * @return array + */ + protected function getContent(): array + { + $response = [ + 'no' => $this->requestNo + ]; + + if (!is_null($this->error)) + $response['error'] = $this->error; + + if (!is_null(!$this->data)) + $response['data'] = $this->data; + + return $response; + } + + /** + * @return mixed + */ + public function getError() + { + return $this->error; + } + + /** + * @return mixed + */ + public function getData() + { + return $this->data; + } + + /** + * @return int + */ + public function getRequestNo(): int + { + return $this->requestNo; + } + +}
\ No newline at end of file |