Code Coverage
 
Lines
Branches
Paths
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
Guzzle
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
2 / 2
3
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
2
 serverRequest
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace Celemas\Core\Factory;
6
7use Celemas\Core\Exception\RuntimeException;
8use GuzzleHttp\Psr7\HttpFactory;
9use GuzzleHttp\Psr7\ServerRequest;
10use Override;
11use Psr\Http\Message\ServerRequestInterface;
12use Throwable;
13
14/** @api */
15class Guzzle extends AbstractFactory
16{
17    public function __construct()
18    {
19        try {
20            $factory = new HttpFactory();
21            $this->responseFactory = $factory;
22            $this->streamFactory = $factory;
23            $this->requestFactory = $factory;
24            $this->serverRequestFactory = $factory;
25            $this->uploadedFileFactory = $factory;
26            $this->uriFactory = $factory;
27
28            // @codeCoverageIgnoreStart
29        } catch (Throwable) {
30            throw new RuntimeException('Install guzzlehttp/psr7');
31
32            // @codeCoverageIgnoreEnd
33        }
34    }
35
36    #[Override]
37    public function serverRequest(): ServerRequestInterface
38    {
39        return ServerRequest::fromGlobals();
40    }
41}