Клиент Guzzle не возвращает сообщение об ошибке. Только "результат" возвращается
Я не знаю, почему клиент Guzzle возвращает только "результат". Как я могу получить целые данные ответа.
(1) method_A возвращает результат. Клиент Guzzle возвращает результат. Это не проблема.
// HTTP request with curl
curl -X POST --data '{"jsonrpc":"2.0","method":"method_A","params":["xxx"],"id":1}' https://example.com/rpc
{"jsonrpc":"2.0","id":1,"result":"0x5209"}
// HTTP request with Guzzle
$client = new Client(['base_uri' => 'https://example.com/rpc']);
$response = $client->request('POST', '', ['json' => $params]);
echo json_encode($response) // 0x5209
(2) method_B возвращает ошибку. Клиент Guzzle возвращает пустое вместо ошибки. Это моя проблема.
// HTTP request with curl
curl -X POST --data '{"jsonrpc":"2.0","method":"method_B","params":["xxx"],"id":1}' https://example.com/rpc
{"jsonrpc":"2.0","id":1,"error":{"code":-32000,"message":"nonce too low"}}
// HTTP request with Guzzle
$client = new Client(['base_uri' => 'https://example.com/rpc']);
$response = $client->request('POST', '', ['json' => $params]);
echo json_encode($response) // empty
FYI. https://example.com/rpc всегда возвращает 200 ответов, даже если в данных ответов есть ошибки по некоторым причинам.
Обновление 1
Я пытался как следует.
Log::info($response);
Object of class GuzzleHttp\Psr7\Response could not be converted to string
Log::info(json_decode($response));
json_decode() expects parameter 1 to be string, object given
Log::info(var_dump($response));
<pre class='xdebug-var-dump' dir='ltr'>
<b>object</b>(<i>GuzzleHttp\Psr7\Response</i>)[<i>374</i>]
<i>private</i> 'reasonPhrase' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'OK'</font> <i>(length=2)</i>
...