swisnl/guzzle-sentry-breadcrumbs-middleware

Guzzle 中间件,用于记录 Sentry 面包屑

1.1.0 2024-09-19 08:45 UTC

This package is auto-updated.

Last update: 2024-09-19 08:50:58 UTC


README

Latest Version on Packagist Software License Buy us a tree Build Status Total Downloads Made by SWIS

这是一个 Guzzle 7 的 中间件,它为所有请求留下 Sentry 面包屑

⚠️ 请确保您没有将敏感信息记录到 Sentry,并且正确配置此中间件以擦除机密信息。⚠️

安装

通过 Composer

composer require swisnl/guzzle-sentry-breadcrumbs-middleware

用法

use GuzzleHttp\Client as Guzzle;
use GuzzleHttp\HandlerStack;
use Swis\Guzzle\Sentry\BreadcrumbMiddleware;

$stack = HandlerStack::create();
$stack->push(new BreadcrumbMiddleware());
$client = new Guzzle(['handler' => $stack]);

现在,当您发送请求时,将记录以下元数据的 Sentry 面包屑

  • 方法
  • URI
  • 状态码
  • 响应体(摘要),在客户端或服务器异常的情况下(状态码 >= 400)
  • 持续时间

配置

您可以使用构造函数参数配置中间件

$category

面包屑的分类。

$message

面包屑的消息。

$redactedStrings

应从元数据中过滤的机密字符串列表,例如 API 密钥。

$truncateBodyAt

响应体摘要的长度,在客户端或服务器异常的情况下添加到面包屑中。使用 null 禁用记录响应/请求体。

默认情况下,它不会记录请求体,在客户端或服务器异常(状态码 >= 400)的情况下仅记录响应体。如果您想更改此行为,您可以提供自己的 GuzzleHttp\BodySummarizerInterface 实现。例如,您可以使用默认的 GuzzleHttp\BodySummarizer 来记录所有请求和响应体。请注意,不要记录敏感信息!

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

composer test

贡献

有关详细信息,请参阅 CONTRIBUTINGCODE_OF_CONDUCT

安全

如果您发现任何与安全相关的问题,请通过电子邮件 security@swis.nl 而不是使用问题跟踪器。

鸣谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件

此包是 Treeware。如果您在生产中使用它,那么我们要求您 为世界买一棵树 以感谢我们的工作。通过为 Treeware 森林做出贡献,您将为当地家庭创造就业机会并恢复野生动物栖息地。

SWIS ❤️ 开源

SWIS 是荷兰莱顿的一家网络机构。我们喜欢与开源软件合作。