softonic/laravel-middleware-request-id

Middleware for Laravel Framework to add the X-Request-ID header in the requests and responses.

Installs: 105 166

Dependents: 0

Suggesters: 0

Security: 0

Stars: 15

Watchers: 6

Forks: 3

Open Issues: 0

pkg:composer/softonic/laravel-middleware-request-id

3.0.1 2026-01-13 15:13 UTC

This package is auto-updated.

Last update: 2026-01-13 15:20:07 UTC


README

Build Status

Requirements

  • PHP >= 8.5
  • Laravel 12.x

Install

$ composer require softonic/laravel-middleware-request-id

Usage

For all routes or a specific group

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' => [
            ...
        ],
    ];

For a specific route

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');

Extra

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.

Testing

To run the tests:

docker compose run --rm test

To run PHPUnit only:

docker compose run --rm phpunit

To check code style:

docker compose run --rm php composer run phpcs

To fix code style issues:

docker compose run --rm fixcs

To run static analysis:

docker compose run --rm php composer run phpstan