Files
kiri-rpc/JsonRpcTransporter.php
T

38 lines
692 B
PHP
Raw Normal View History

2022-01-09 14:00:32 +08:00
<?php
namespace Kiri\Rpc;
2022-01-10 11:39:56 +08:00
use Kiri\Message\Response;
use Kiri\Message\Stream;
2022-01-09 14:00:32 +08:00
use Psr\Http\Client\ClientInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
/**
*
*/
2022-05-04 02:55:14 +08:00
class JsonRpcTransporter implements RpcClientInterface
2022-01-09 14:00:32 +08:00
{
use TraitTransporter;
/**
* @param RequestInterface $request
* @return ResponseInterface
* @throws \Exception
*/
public function sendRequest(RequestInterface $request): ResponseInterface
{
$content = $request->getBody()->getContents();
$response = $this->request($this->newClient(), $content, true);
return (new Response())->withBody(new Stream($response));
}
}