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());


Domains are often purchased from multiple providers, keeping track of where a domain is and its DNS settings can be tricky. Domain Mapper solves this by listing all your domains in one place. View your DNS settings and receive reminders to renew your domains. Try it today.

Support my work by donating with PayPal.

Subscribe to my newsletter

Subscribe and get my books and product announcements.

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