• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

DoclerLabs / api-client-generator / 21433352645

28 Jan 2026 09:50AM UTC coverage: 86.69% (-0.3%) from 86.973%
21433352645

push

github

web-flow
Merge pull request #131 from DoclerLabs/dependabot/composer/phpunit/phpunit-9.6.33

Bump phpunit/phpunit from 9.5.9 to 9.6.33

3465 of 3997 relevant lines covered (86.69%)

7.11 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

63.64
/src/Generator/Implementation/HttpMessageImplementationStrategy.php
1
<?php
2

3
declare(strict_types=1);
4

5
namespace DoclerLabs\ApiClientGenerator\Generator\Implementation;
6

7
use DoclerLabs\ApiClientGenerator\Ast\Builder\CodeBuilder;
8
use DoclerLabs\ApiClientGenerator\Ast\Builder\MethodBuilder;
9
use DoclerLabs\ApiClientGenerator\Generator\Implementation\HttpMessage\GuzzleHttpMessage;
10
use DoclerLabs\ApiClientGenerator\Generator\Implementation\HttpMessage\NyholmHttpMessage;
11
use UnexpectedValueException;
12

13
class HttpMessageImplementationStrategy implements HttpMessageImplementationInterface
14
{
15
    public const HTTP_MESSAGE_GUZZLE = 'guzzle';
16

17
    public const HTTP_MESSAGE_NYHOLM = 'nyholm';
18

19
    public const HTTP_MESSAGE_IMPLEMENTATIONS = [
20
        self::HTTP_MESSAGE_GUZZLE => GuzzleHttpMessage::class,
21
        self::HTTP_MESSAGE_NYHOLM => NyholmHttpMessage::class,
22
    ];
23

24
    private HttpMessageImplementationInterface $httpMessageImplementation;
25

26
    public function __construct(string $httpMessage, CodeBuilder $builder)
27
    {
28
        if (!isset(self::HTTP_MESSAGE_IMPLEMENTATIONS[$httpMessage])) {
2✔
29
            $supported = json_encode(self::HTTP_MESSAGE_IMPLEMENTATIONS, JSON_THROW_ON_ERROR);
×
30

31
            throw new UnexpectedValueException(
×
32
                'Unsupported http message `' . $httpMessage . '`. Should be one of ' . $supported
×
33
            );
×
34
        }
35
        $implementationClassName = self::HTTP_MESSAGE_IMPLEMENTATIONS[$httpMessage];
2✔
36

37
        $this->httpMessageImplementation = new $implementationClassName($builder);
2✔
38
    }
39

40
    public function generateRequestMapMethod(): MethodBuilder
41
    {
42
        return $this->httpMessageImplementation->generateRequestMapMethod();
2✔
43
    }
44

45
    public function getInitMessageImports(): array
46
    {
47
        return $this->httpMessageImplementation->getInitMessageImports();
2✔
48
    }
49

50
    public function getPackages(): array
51
    {
52
        return $this->httpMessageImplementation->getPackages();
2✔
53
    }
54

55
    public function getRequestMapperClassName(): string
56
    {
57
        return $this->httpMessageImplementation->getRequestMapperClassName();
2✔
58
    }
59
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc