Phred/src/Http/Support/DefaultRequestIdProvider.php

21 lines
522 B
PHP
Raw Normal View History

<?php
declare(strict_types=1);
namespace Phred\Http\Support;
use Nyholm\Psr7\Response;
use Phred\Http\Contracts\RequestIdProviderInterface;
use Psr\Http\Message\ServerRequestInterface;
final class DefaultRequestIdProvider implements RequestIdProviderInterface
{
public function provide(ServerRequestInterface $request): string
{
$incoming = $request->getHeaderLine('X-Request-Id');
if ($incoming !== '') {
return $incoming;
}
return bin2hex(random_bytes(8));
}
}