mirror of
https://github.com/Karaka-Management/oms-Search.git
synced 2026-02-09 06:48:41 +00:00
57 lines
2.2 KiB
PHP
57 lines
2.2 KiB
PHP
<?php
|
|
declare(strict_types = 1);
|
|
|
|
namespace AdvancedJsonRpc;
|
|
|
|
/**
|
|
* A Notification is a Request object without an "id" member. A Request object that is a Notification signifies the
|
|
* Client's lack of interest in the corresponding Response object, and as such no Response object needs to be returned
|
|
* to the client. The Server MUST NOT reply to a Notification, including those that are within a batch request.
|
|
* Notifications are not confirmable by definition, since they do not have a Response object to be returned. As such,
|
|
* the Client would not be aware of any errors (like e.g. "Invalid params","Internal error").
|
|
*/
|
|
class Notification extends Message
|
|
{
|
|
/**
|
|
* A String containing the name of the method to be invoked. Method names that begin with the word rpc followed by a
|
|
* period character (U+002E or ASCII 46) are reserved for rpc-internal methods and extensions and MUST NOT be used
|
|
* for anything else.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $method;
|
|
|
|
/**
|
|
* A Structured value that holds the parameter values to be used during the invocation of the method. This member
|
|
* MAY be omitted. If present, parameters for the rpc call MUST be provided as a Structured value. Either
|
|
* by-position through an Array or by-name through an Object. by-position: params MUST be an Array, containing the
|
|
* values in the Server expected order. by-name: params MUST be an Object, with member names that match the Server
|
|
* expected parameter names. The absence of expected names MAY result in an error being generated. The names MUST
|
|
* match exactly, including case, to the method's expected parameters.
|
|
*
|
|
* @var object|array|null
|
|
*/
|
|
public $params;
|
|
|
|
/**
|
|
* A message is considered a Notification if it has a method but no ID.
|
|
*
|
|
* @param object $msg A decoded message body
|
|
* @return bool
|
|
*/
|
|
public static function isNotification($msg): bool
|
|
{
|
|
return is_object($msg) && !property_exists($msg, 'id') && isset($msg->method);
|
|
}
|
|
|
|
/**
|
|
* @param string $method
|
|
* @param mixed $params
|
|
*/
|
|
public function __construct(string $method, $params = null)
|
|
{
|
|
$this->method = $method;
|
|
$this->params = $params;
|
|
}
|
|
}
|