Rumah > pembangunan bahagian belakang > tutorial php > Sesuaikan pemotongan pengecualian permintaan klien HTTP

Sesuaikan pemotongan pengecualian permintaan klien HTTP

Robert Michael Kim
Lepaskan: 2025-03-06 02:39:09
asal
235 orang telah melayarinya

Customize the Truncation of HTTP Client Request Exceptions

kecewa dengan pengecualian klien HTTP yang dipenggal mengaburkan maklumat debuging penting dalam laporan bug atau sentry? Pemotongan lalai Laravel respons HTTP boleh menyembunyikan petunjuk penting mengenai kegagalan permintaan.

Masalah ini diselesaikan dalam Laravel 11.35! Dua kaedah baru menawarkan kawalan yang tepat ke atas pemotongan pengecualian. Cukup tambahkannya ke

anda: 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();
Salin selepas log masuk
Sekarang, pengecualian klien HTTP sama ada tetap utuh sepenuhnya atau dipotong ke panjang yang ditentukan (lebih lama daripada lalai). Anda mengekalkan kawalan penuh ke atas pengendalian dan pembalakan pengecualian:

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(),
        // ...
    ]);
}
Salin selepas log masuk
Untuk maklumat terperinci mengenai pengendalian pengecualian dan pemotongan dalam klien HTTP Laravel, rujuk dokumentasi Laravel rasmi.

terima kasih khas kepada Steve Bauman (Tarik Permintaan #53734) untuk peningkatan berharga ini dalam Laravel 11.35.0!

Atas ialah kandungan terperinci Sesuaikan pemotongan pengecualian permintaan klien HTTP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan