Skip to content

Commit 86a9319

Browse files
committed
WIP
1 parent 0e16c84 commit 86a9319

File tree

3 files changed

+28
-7
lines changed

3 files changed

+28
-7
lines changed

src/Middleware/CorrelationIdMiddleware.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,20 @@ class CorrelationIdMiddleware
1616
*/
1717
public function handle(Request $request, Closure $next)
1818
{
19+
$correlationId = $this->getCorrelationId($request);
20+
21+
$request->headers->set('Correlation-ID', $correlationId, true);
22+
1923
$response = $next($request);
2024

21-
$response->headers->set('Correlation-ID', $request->getUniqueId(), true); // This is available on all Response types whereas $request->header() is only available in \Illuminate\Http\Response
25+
$response->headers->set('Correlation-ID', $correlationId, true); // This is available on all Response types whereas $response->header() is only available in \Illuminate\Http\Response
2226

2327
return $response;
2428
}
29+
30+
private function getCorrelationId(Request $request): string
31+
{
32+
return $request->getUniqueId();
33+
}
34+
2535
}

src/Middleware/LogRequestMiddleware.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public function handle(Request $request, Closure $next, string ...$drivers)
3030
$response = $next($request);
3131

3232
if ($header = config('request-logger.header')) {
33-
$response->headers->set($header, $requestId, true); // This is available on all Response types whereas $request->header() is only available in \Illuminate\Http\Response
33+
$response->headers->set($header, $requestId, true); // This is available on all Response types whereas $response->header() is only available in \Illuminate\Http\Response
3434
}
3535

3636
return $response;

tests/Unit/CorrelationIdMiddlewareTest.php

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,28 @@
99

1010
class CorrelationIdMiddlewareTest extends TestCase
1111
{
12-
public function test_adds_response_header(): void
12+
public function test_adds_request_header(): void
1313
{
14-
$this->assertEquals('Correlation-ID', config('request-logger.header'));
14+
$request = new Request();
15+
16+
(new CorrelationIdMiddleware())->handle($request, function ($request) {
17+
18+
$this->assertTrue($request->headers->has('Correlation-ID'));
19+
$this->assertEquals($request, $request->header('Correlation-ID'));
20+
21+
return new Response();
22+
});
23+
}
1524

25+
public function test_adds_response_header(): void
26+
{
1627
$request = new Request();
1728

18-
$response1 = (new CorrelationIdMiddleware())->handle($request, function ($request) {
29+
$response = (new CorrelationIdMiddleware())->handle($request, function ($request) {
1930
return new Response();
2031
});
2132

22-
$this->assertTrue($response1->headers->has('Correlation-ID'));
23-
$this->assertEquals($request->getUniqueId(), $response1->headers->get('Correlation-ID'));
33+
$this->assertTrue($response->headers->has('Correlation-ID'));
34+
$this->assertEquals($response, $request->header('Correlation-ID'));
2435
}
2536
}

0 commit comments

Comments
 (0)