| @@ 21-59 (lines=39) @@ | ||
| 18 | use Arki\RequestId\Providers\RequestIdProviderFactory; |
|
| 19 | use Psr\Http\Message\RequestInterface; |
|
| 20 | ||
| 21 | final class HeaderBasedProviderFactory implements RequestIdProviderFactory, RequestAware |
|
| 22 | { |
|
| 23 | /** |
|
| 24 | * @var RequestInterface |
|
| 25 | */ |
|
| 26 | private $request; |
|
| 27 | /** |
|
| 28 | * @var RequestIdGenerator |
|
| 29 | */ |
|
| 30 | private $generator; |
|
| 31 | ||
| 32 | /** |
|
| 33 | * @param RequestIdGenerator $generator |
|
| 34 | */ |
|
| 35 | public function __construct(RequestIdGenerator $generator) |
|
| 36 | { |
|
| 37 | $this->generator = $generator; |
|
| 38 | } |
|
| 39 | ||
| 40 | /** |
|
| 41 | * @return RequestIdProvider |
|
| 42 | */ |
|
| 43 | public function create() |
|
| 44 | { |
|
| 45 | return new ExtractsRequestIdFromHeader($this->request, new DefaultRequestIdProvider($this->generator)); |
|
| 46 | } |
|
| 47 | ||
| 48 | /** |
|
| 49 | * @param RequestInterface $request |
|
| 50 | */ |
|
| 51 | public function setRequest($request) |
|
| 52 | { |
|
| 53 | if (!$request instanceof RequestInterface) { |
|
| 54 | throw new \InvalidArgumentException('Invalid argument received. Expected: '.RequestInterface::class); |
|
| 55 | } |
|
| 56 | ||
| 57 | $this->request = $request; |
|
| 58 | } |
|
| 59 | } |
|
| 60 | ||
| @@ 21-59 (lines=39) @@ | ||
| 18 | use Arki\RequestId\Providers\RequestIdProviderFactory; |
|
| 19 | use Symfony\Component\HttpFoundation\Request; |
|
| 20 | ||
| 21 | final class HeaderBasedProviderFactory implements RequestIdProviderFactory, RequestAware |
|
| 22 | { |
|
| 23 | /** |
|
| 24 | * @var Request |
|
| 25 | */ |
|
| 26 | private $request; |
|
| 27 | /** |
|
| 28 | * @var RequestIdGenerator |
|
| 29 | */ |
|
| 30 | private $generator; |
|
| 31 | ||
| 32 | /** |
|
| 33 | * @param RequestIdGenerator $generator |
|
| 34 | */ |
|
| 35 | public function __construct(RequestIdGenerator $generator) |
|
| 36 | { |
|
| 37 | $this->generator = $generator; |
|
| 38 | } |
|
| 39 | ||
| 40 | /** |
|
| 41 | * @return RequestIdProvider |
|
| 42 | */ |
|
| 43 | public function create() |
|
| 44 | { |
|
| 45 | return new ExtractsRequestIdFromHeader($this->request, new DefaultRequestIdProvider($this->generator)); |
|
| 46 | } |
|
| 47 | ||
| 48 | /** |
|
| 49 | * @param Request $request |
|
| 50 | */ |
|
| 51 | public function setRequest($request) |
|
| 52 | { |
|
| 53 | if (!$request instanceof Request) { |
|
| 54 | throw new \InvalidArgumentException('Invalid argument received. Expected: '.Request::class); |
|
| 55 | } |
|
| 56 | ||
| 57 | $this->request = $request; |
|
| 58 | } |
|
| 59 | } |
|
| 60 | ||