Laravel Tutorials

Customize the Truncation of HTTP Client Request Exceptions

Published
Customize the Truncation of HTTP Client Request Exceptions image

Have you ever received a bug report or looked in Sentry only to find a truncated HTTP client exception you couldn't read? By default, HTTP responses are truncated, which could potentially leave off important clues as to why a request failed or what happened:

HTTP request returned status code 422:
{"error":{"code":422,"message":"The Request can not be completed because the provided request contains invalid data. Key at 'cus (truncated...)

Starting in Laravel 11.35, you can now control this behavior with two new convenience methods that you can add to your application's bootstrap/app.php file:

// bootstrap/app.php
 
use Illuminate\Http\Client\RequestException;
 
return Application::configure(basePath: dirname(__DIR__))
// ...
->withExceptions(function (Exceptions $exceptions) {
$exceptions->dontTruncateRequestExceptions();
 
// Or ...
 
$exceptions->truncateRequestExceptionsAt(260);
})->create();

When an HTTP client exception happens, it will not be truncated anymore, or if you still want truncation, you can control the length of truncation to make it longer than the original. Of course, you can still catch HTTP client exceptions and report anything about the exception that you want:

try {
$response = Http::throws()->get('https://api.example.com/some-error');
 
// ...
} catch (\Illuminate\Http\Client\RequestException $e) {
Log::error('HTTP Error', [
// The message will be truncated (or not) based on your setting.
'message' => $e->getMessage(),
'response' => $e->response->json(),
'status' => $e->response->status(),
// ...
]);
}

You can learn more about working with exceptions in Laravel's HTTP client from the Laravel documentation, which includes all the conditional error handling and truncation docs.

A shoutout to Steve Bauman for making this possible in Pull Request #53734 as part of Laravel 11.35.0!

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Laravel AI SDK 1.0 Adds Classification and Tool Approvals image

Laravel AI SDK 1.0 Adds Classification and Tool Approvals

Read article
Tagged Memoized Cache and Model Refreshes in Laravel 13.33 image

Tagged Memoized Cache and Model Refreshes in Laravel 13.33

Read article
Laravel Live Denmark 2026 Talks Are Now on YouTube image

Laravel Live Denmark 2026 Talks Are Now on YouTube

Read article
Live Stream: Building a Social Network in PHP in 48 Hours image

Live Stream: Building a Social Network in PHP in 48 Hours

Read article
Health for Laravel: Kubernetes Probes and Prometheus Metrics image

Health for Laravel: Kubernetes Probes and Prometheus Metrics

Read article
Fast Excel 5.x Adds Streaming Imports and Safer Exports image

Fast Excel 5.x Adds Streaming Imports and Safer Exports

Read article