Maison > développement back-end > tutoriel php > Personnaliser la troncature des exceptions de demande du client HTTP

Personnaliser la troncature des exceptions de demande du client HTTP

Robert Michael Kim
Libérer: 2025-03-06 02:39:09
original
235 Les gens l'ont consulté

Customize the Truncation of HTTP Client Request Exceptions

frustré par les exceptions du client HTTP tronquées obscurcissant les informations de débogage cruciales dans les rapports de bogues ou la sentinelle? La troncature par défaut de Laravel des réponses HTTP peut masquer des indices vitaux sur les défaillances de la demande.

Ce problème est résolu dans Laravel 11.35! Deux nouvelles méthodes offrent un contrôle précis sur la troncature des exceptions. Ajoutez-les simplement à votre bootstrap/app.php:

// bootstrap/app.php

use Illuminate\Http\Client\RequestException;

return Application::configure(basePath: dirname(__DIR__))
    // ...
    ->withExceptions(function (Exceptions $exceptions) {
        $exceptions->dontTruncateRequestExceptions(); // Completely disable truncation

        // Or...

        $exceptions->truncateRequestExceptionsAt(260); // Set a custom truncation length
    })->create();
Copier après la connexion

Maintenant, les exceptions du client HTTP resteront entièrement intactes ou seront tronquées à votre longueur spécifiée (plus longue que la valeur par défaut). Vous conservez le contrôle total sur la gestion et la journalisation des exceptions:

try {
    $response = Http::throws()->get('https://api.example.com/some-error');

    // ...
} catch (\Illuminate\Http\Client\RequestException $e) {
    Log::error('HTTP Error', [
        'message' => $e->getMessage(), // Truncated or not, depending on your setting
        'response' => $e->response->json(),
        'status' => $e->response->status(),
        // ...
    ]);
}
Copier après la connexion

Pour des informations détaillées sur la gestion des exceptions et la troncature au sein du client HTTP de Laravel, consultez la documentation officielle de Laravel.

Merci spécial à Steve Bauman (demande de traction # 53734) pour cette précieuse amélioration de Laravel 11.35.0!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal