2017 © Pedro Peláez
 

library stack-request-id

Middleware for adding request id to Symfony Request.

image

qandidate/stack-request-id

Middleware for adding request id to Symfony Request.

  • Monday, December 11, 2017
  • by fritsjanb
  • Repository
  • 10 Watchers
  • 38 Stars
  • 92,088 Installations
  • PHP
  • 3 Dependents
  • 0 Suggesters
  • 13 Forks
  • 1 Open issues
  • 8 Versions
  • 9 % Grown

The README.md

stack-request-id

Middleware for adding a request id to your Symfony Requests, (*1)

build status, (*2)

Installation

First, add this project to your project's composer.json, (*3)

$ composer require qandidate/stack-request-id ^1.0

Setting up

Update your app.php to include the middleware:, (*4)

Before:, (*5)

use Symfony\Component\HttpFoundation\Request;

$kernel = new AppKernel($env, $debug);
$kernel->loadClassCache();

$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);

After:, (*6)

use Qandidate\Stack\RequestId;
use Qandidate\Stack\UuidRequestIdGenerator;
use Symfony\Component\HttpFoundation\Request;

$kernel = new AppKernel($env, $debug);

// Stack it!
$generator = new UuidRequestIdGenerator(1337);
$stack = new RequestId($kernel, $generator);

$kernel->loadClassCache();

$request = Request::createFromGlobals();
$response = $stack->handle($request);
$response->send();
$kernel->terminate($request, $response);

Adding the request id to your monolog logs

If you use Symfony's MonologBundle you can add the request id to your monolog logs by adding the following service definition to your services.xml file:, (*7)

<service id="qandidate.stack.request_id.monolog_processor" class="Qandidate\Stack\RequestId\MonologProcessor">
  <tag name="kernel.event_listener" event="kernel.request" method="onKernelRequest" priority="255" />
  <tag name="monolog.processor" />
</service>

Adding the request id to responses

If you need to send the request id back with the response you can enable the response header:, (*8)

$generator = new UuidRequestIdGenerator(1337);
$stack = new RequestId($kernel, $generator);
$stack->enableResponseHeader();

It is also possible to change response header's name:, (*9)

$stack->enableResponseHeader('My-Custom-Request-Id');

If you don't have access to the RequestId object instance (StackPHP, for example) the response header can be set via the fourth argument of the RequestId constructor method., (*10)

$generator = new UuidRequestIdGenerator(1337);
$stack = new RequestId($kernel, $generator, 'X-Request-Id', 'My-Custom-Request-Id');

The third argument, for reference, is the name of the header: - That will be checked for a value before falling back to generating a new request ID, - Used to store the resulting request ID inside Symfony's request object., (*11)

StackPHP's Middleware Builder

If you are already using StackPHP, just push the RequestId class into the builder., (*12)

$kernel = new AppKernel('dev', true);

$generator = new UuidRequestIdGenerator(1337);
$stack = (new Stack\Builder)
    ->push('Qandidate\Stack\RequestId', $generator, 'X-Request-Id', 'X-Request-Id')
    ->resolve($kernel);

$kernel->loadClassCache();

$request = Request::createFromGlobals();
$response = $stack->handle($request);
$response->send();
$kernel->terminate($request, $response);

The Versions

11/12 2017

dev-master

9999999-dev

Middleware for adding request id to Symfony Request.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Fritsjan

11/12 2017

1.1.0

1.1.0.0

Middleware for adding request id to Symfony Request.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Fritsjan

17/07 2017

1.0.0

1.0.0.0

Middleware for adding request id to Symfony Request.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Fritsjan

06/12 2016

0.4.1

0.4.1.0

Middleware for adding request id to Symfony Request.

  Sources   Download

MIT

The Requires

 

by Fritsjan

26/03 2016

0.4.0

0.4.0.0

Middleware for adding request id to Symfony Request.

  Sources   Download

MIT

The Requires

 

by Fritsjan

19/10 2015

0.3.0

0.3.0.0

Middleware for adding request id to Symfony Request.

  Sources   Download

MIT

The Requires

 

by Fritsjan

30/01 2015

0.2.0

0.2.0.0

Middleware for adding request id to Symfony Request.

  Sources   Download

MIT

The Requires

 

by Fritsjan

28/10 2014

0.1.0

0.1.0.0

Middleware for adding request id to Symfony Request.

  Sources   Download

MIT

The Requires

 

by Fritsjan