Code Duplication    Length = 39-39 lines in 2 locations

src/Integrations/PSR7/Providers/HeaderBasedProviderFactory.php 1 location

@@ 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

src/Integrations/Symfony/Providers/HeaderBasedProviderFactory.php 1 location

@@ 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