namespace JsonRPC\Validator; | |
use JsonRPC\Exception\InvalidJsonRpcFormatException; | |
/** | |
* Class RpcFormatValidator | |
* | |
* @package JsonRPC\Validator | |
* @author Frederic Guillot | |
*/ | |
class RpcFormatValidator | |
{ | |
/** | |
* Validate | |
* | |
* @static | |
* @access public | |
* @param array $payload | |
* @throws InvalidJsonRpcFormatException | |
*/ | |
public static function validate(array $payload) | |
{ | |
if (! isset($payload['jsonrpc']) || | |
! isset($payload['method']) || | |
! is_string($payload['method']) || | |
$payload['jsonrpc'] !== '2.0' || | |
(isset($payload['params']) && ! is_array($payload['params']))) { | |
throw new InvalidJsonRpcFormatException('Invalid JSON RPC payload'); | |
} | |
} | |
} | |