$ composer require softonic/laravel-middleware-request-id
Add Softonic\Laravel\Middleware\RequestId::class
in App\Http\Kernel
.
For all routes:
protected $middleware = [
\Softonic\Laravel\Middleware\RequestId::class,
....
]
Specific group:
// Example for WEB group
protected $middlewareGroups = [
'web' => [
\Softonic\Laravel\Middleware\RequestId::class,
...
],
'api' => [
...
],
];
Register the middleware as a route middleware in App\Http\Kernel
.
protected $routeMiddleware = [
...
'request-id' => Softonic\Laravel\Middleware\RequestId::class,
];
then, use it in your routes file, for example in routes\web.php
Route::get('route', function() {})->middleware('request-id');
If you need to have the X-Request-Id ASAP, you can modify \App\Providers\AppServiceProvider::boot
adding $_SERVER['HTTP_X_REQUEST_ID'] ??= \Ramsey\Uuid\Uuid::uuid4()->toString();
.
This is going to allow you to use the X-Request-ID in the framework booting to for example customize monolog or in console executions.