xujif/guzzle-json-rpc

json-rpc server and client base on guzzle,support async

1.0.4 2017-05-04 07:06 UTC

This package is auto-updated.

Last update: 2024-10-27 20:38:52 UTC


README

#json-rpc base on guzzle a full json-rpc 2.0 RFC implementation

###Usage ####Server

/*
 * in any http framworks
 */
$apiObject = new Api();
$server = new \Xujif\JsonRpc\Server($apiObject);
// return array
// please return to client with json
$ret = $server->handle();
header('Content-Type:application/json')
echo json_encode($ret);

####Client

$client = new \Xujif\JsonRpc\Client('API_SERVER_URL');
$client->call('method',[1,2,3]);
// or
$client->method(1,2,3)
// or notification(no result send async)
$client->notify()->method(1,2,3)
// or batch call
$client->batch()->method(1,2,3)->method2(1,2)->exec();
// or batch notification
$client->batch()->notify()->method(1,2,3)->method2(1,2)->exec();
// or batch mixed notification and call
// if all batch call is notify it will send async
$client->batch()
       ->notify()
       ->method(1,2,3)
       ->notify(false)
       ->method2(1,2)
       ->exec();