Skip to content

Middleware to handle incoming correlation id header for Laravel and Lumen

License

Notifications You must be signed in to change notification settings

proemergotech/correlate-php-laravel

Repository files navigation

correlate-php-laravel


Overview

It's very difficult to track a request across the system when we are working with microservices. We came out with a solution for that. We generate a unique version 4 uuid for every request and every service passes this id via request headers to other services. We call this correlation ID.

Packages

Installation

  • Install via composer
composer require proemergotech/correlate-php-laravel

Setup for Laravel 5

Add the ProEmergotech\Correlate\Laravel\LaravelCorrelateMiddleware middleware to the $middleware property of your app/Http/Kernel.php class.

Setup for Lumen 5

Add service provider to bootstrap/app.php in your Lumen project.

// bootstrap/app.php

$app->register(\ProEmergotech\Correlate\Laravel\LaravelCorrelateServiceProvider::class);

Usage

This middleware automatically adds correlation id (coming from request header) to every log message. There are some macros added to the request object if you want to work with correlation id.

Using macros via request object:

if ($request->hasCorrelationId()) {
  $cid = $request->getCorrelationId();
}
// or if you can change the ID
$request->setCorrelationId(\ProEmergotech\Correlate\Correlate::id());

Contributing

See CONTRIBUTING.md file.

Credits

This package was developed by Soma Szélpál at Pro Emergotech Ltd..

Additional author is Miklós Boros at Pro Emergotech Ltd..

License

This project is released under the MIT License.

About

Middleware to handle incoming correlation id header for Laravel and Lumen

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages