首页 >后端开发 >php教程 >自定义HTTP客户端请求异常的截断

自定义HTTP客户端请求异常的截断

Robert Michael Kim
Robert Michael Kim原创
2025-03-06 02:39:09238浏览

Customize the Truncation of HTTP Client Request Exceptions

>被截断的HTTP客户端异常沮丧,掩盖了错误报告或哨兵中关键的调试信息吗? Laravel对HTTP响应的默认截断可能会隐藏有关请求失败的重要线索。

在Laravel 11.35中解决了这个问题! 两种新方法提供了对异常截断的精确控制。 只需将它们添加到您的

>: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();
现在,HTTP客户端异常将保持完全完整,或将其截断为指定的长度(比默认值更长)。 您保留对异常处理和登录的完全控制:

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(),
        // ...
    ]);
}
有关Laravel HTTP客户端中的例外处理和截断的详细信息,请咨询Laravel官方文档。

特别感谢史蒂夫·鲍曼(Steve Bauman)(拉申请#53734)在Laravel 11.35.0!

以上是自定义HTTP客户端请求异常的截断的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn