Solving: Guzzle errors truncated

David Carr

Solving: Guzzle errors truncated


I'm a big fan of Guzzle it's great for making API calls. 

My typical code when making calls looks like this:

use GuzzleHttp\Client;
use Exception;

try {
    $client = new Client;
    $response = $client->post($url, ['form_params' => $params]);
    return json_decode($response->getBody()->getContents(), true);
} catch (Exception $e) {
    return $e->getMessage();

That all works but when there is an error returned from the API the errors are truncated. Calling the usually $e->getMessage is not the correct way with Guzzle instead throw an exception with the same response call used for returned data.

throw new Exception($e->getResponse()->getBody()->getContents());


Laravel Modules Book by David Carr

Help support the blog so that I can continue creating new content!

Subscribe to my newsletter

Subscribe and get my books and product announcements.

© 2009 - 2022 DC Blog. All code MIT license. All rights reserved.