Download the PHP package php-middleware/request-id without Composer
On this page you can find all versions of the php package php-middleware/request-id. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download php-middleware/request-id
More information about php-middleware/request-id
Files in php-middleware/request-id
Package request-id
Short Description Request Id middleware with PSR-7
License MIT
Informations about the package request-id
Request ID middleware for PHP
PSR-7 Request ID middleware
This middleware provide framework-agnostic possibility to generate and add to request/response's header Request ID (Correlation ID).
Installation
Usage
This middleware require in contructor PhpMiddleware\RequestId\RequestIdProviderFactoryInterface
implementation which
must create a new RequestIdProviderInterface
object. We provide RequestIdProvider
default implementation.
All Provider factory constructor options:
PhpMiddleware\RequestId\Generator\GeneratorInterface
$generator
- generator implementation (required)bool|PhpMiddleware\RequestId\OverridePolicy\OverridePolicyInterface
$allowOverride
(defaulttrue
) - iftrue
and request id header exists in incoming request, then value from request header will be used in middleware, using generator will be avoidstring
$requestHeader
(defaultX-Request-Id
) - request header name
How to get request id in my application?
- Middleware implements
RequestIdProviderInterface
, so you are able to usegetRequestId()
method, - from
request-id
attribute inServerRequest
object ($request->getAttribute(RequestIdMiddleware::ATTRIBUTE_NAME)
).
Override policy
You can add your own logic to decide when override incoming request id. You can implement OverridePolicyInterface
and pass it as $allowOverride
variable in constructor.
Monolog processor
We provide simple Monolog processor to add request it to every log entry!
Request decorator
Guzzle.
Request Id generators
To generate request id you need to use implementation of PhpMiddleware\RequestId\Generator\GeneratorInterface
. There are predefined generators in PhpMiddleware\RequestId\Generator\
namespace:
PhpUniqidGenerator
Simple generator using uniqid function.
RamseyUuid1Generator
UUID1 implementations of Ramsey\Uuid. To use it you need to add ramsey/uuid
dependency to your composer.json
.
RamseyUuid3Generator
UUID3 implementations of Ramsey\Uuid. To use it you need to add ramsey/uuid
dependency to your composer.json
.
RamseyUuid4Generator
UUID4 implementations of Ramsey\Uuid. To use it you need to add ramsey/uuid
dependency to your composer.json
.
RamseyUuid4StaticGenerator
Generates Uuid4 like RamseyUuid4Generator
however it's not require any dependency (it use static factory method).
RamseyUuid5Generator
UUID5 implementations of Ramsey\Uuid. To use it you need to add ramsey/uuid
dependency to your composer.json
.
PrefixedGenerator
It adds prefix to generated request id.
Md5Generator
This generator converts generated request id to md5 hash.
It's just works with any modern php framework!
Middleware tested on:
Middleware should works with:
And any other modern framework supported middlewares and PSR-7.
All versions of request-id with dependencies
psr/http-message Version ^1.0
psr/http-server-handler Version ^1.0
psr/http-server-middleware Version ^1.0