phauthentic/correlation-id

关联ID和PSR7中间件注入

2.0.0 2024-03-27 23:51 UTC

This package is auto-updated.

Last update: 2024-08-28 00:50:05 UTC


README

Software License Scrutinizer Coverage Code Quality

关联ID的实现和框架无关的PSR 15-HTTP中间件。

关联ID,也称为传输ID,是一个附加到请求和消息上的唯一标识值,允许引用特定的交易或事件链。关联模式,依赖于关联ID的使用,是一个经过良好记录的企业集成模式。

文档

关联ID值对象

关联ID是一个单例类,它将在请求的当前生命周期中始终返回相同的ID。

调用CorrelationID::toString()将返回一个字符串,并在整个应用程序的生命周期中返回相同的字符串。您可以通过调用CorrelationID::sameAs('your-string')将字符串与关联ID进行比较。

默认情况下,它使用其内部实现来生成UUID v4作为关联ID的值。如果您正在使用ramsey/uuid,它将自动使用它。

PSR 15 HTTP中间件

中间件将自动将关联ID作为属性和头值放入您的请求对象中。默认情况下,两者都使用CorrelationID名称。

$middleware = new CorrelationIDMiddleware(
    CorrelationID::toString()
);

响应

由于没有标准说明在哪里进行此操作,只需将关联ID添加到您的响应中,使其最适合您的架构或框架。

$response->withHeader('CorrelationID', CorrelationId::toString());

对于Symfony,有一个可用的,它将自动使关联ID在请求和响应对象中可用。

版权与许可

MIT许可证下许可。

版权(c)Phauthentic / Florian Krämer