在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:graze/guzzle-jsonrpc开源软件地址:https://github.com/graze/guzzle-jsonrpc开源编程语言:PHP 97.0%开源软件介绍:Guzzle JSON-RPCThis library implements JSON-RPC 2.0 for the Guzzle HTTP client. We try to support all commonly used versions of Guzzle including:
It can be installed in whichever way you prefer, but we recommend Composer. {
"require": {
"graze/guzzle-jsonrpc": "~3.0"
}
} Documentation<?php
use Graze\GuzzleHttp\JsonRpc\Client;
// Create the client
$client = Client::factory('http://localhost:8000');
// Send a notification
$client->send($client->notification('method', ['key'=>'value']));
// Send a request that expects a response
$client->send($client->request(123, 'method', ['key'=>'value']));
// Send a batch of requests
$client->sendAll([
$client->request(123, 'method', ['key'=>'value']),
$client->request(456, 'method', ['key'=>'value']),
$client->notification('method', ['key'=>'value'])
]); Async requestsAsynchronous requests are supported by making use of the Guzzle Promises library; an implementation of Promises/A+. <?php
use Graze\GuzzleHttp\JsonRpc\Client;
// Create the client
$client = Client::factory('http://localhost:8000');
// Send an async notification
$promise = $client->sendAsync($client->notification('method', ['key'=>'value']));
$promise->then(function () {
// Do something
});
// Send an async request that expects a response
$promise = $client->sendAsync($client->request(123, 'method', ['key'=>'value']));
$promise->then(function ($response) {
// Do something with the response
});
// Send a batch of requests
$client->sendAllAsync([
$client->request(123, 'method', ['key'=>'value']),
$client->request(456, 'method', ['key'=>'value']),
$client->notification('method', ['key'=>'value'])
])->then(function ($responses) {
// Do something with the list of responses
}); Throw exception on RPC errorYou can throw an exception if you receive an RPC error response by adding the
option <?php
use Graze\GuzzleHttp\JsonRpc\Client;
use Graze\GuzzleHttp\JsonRpc\Exception\RequestException;
// Create the client with the `rpc_error`
$client = Client::factory('http://localhost:8000', ['rpc_error'=>true]);
// Create a request
$request = $client->request(123, 'method', ['key'=>'value']);
// Send the request
try {
$client->send($request);
} catch (RequestException $e) {
die($e->getResponse()->getRpcErrorMessage());
} ContributingWe accept contributions to the source via Pull Request, but passing unit tests must be included before it will be considered for merge. ~ $ make deps
~ $ make lint test LicenseThe content of this library is released under the MIT License by Nature Delivered Ltd. You can find a copy of this license at
mit or in |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论