Passed
Push — develop ( d31b83...28ee2c )
by Jens
09:38
created

PsrRequest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 4
lcom 0
cbo 3
dl 0
loc 28
ccs 8
cts 8
cp 1
rs 10
c 1
b 0
f 1

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A ofRequest() 0 4 1
A buildResponse() 0 4 1
A httpRequest() 0 4 1
1
<?php
2
/**
3
 * @author @jayS-de <[email protected]>
4
 */
5
6
namespace Commercetools\Core\Request;
7
8
use Commercetools\Core\Client\JsonEndpoint;
9
use Commercetools\Core\Model\Common\Context;
10
use Commercetools\Core\Response\ResourceResponse;
11
use Psr\Http\Message\RequestInterface;
12
use Psr\Http\Message\ResponseInterface;
13
use Commercetools\Core\Model\Common\JsonObject;
14
use Commercetools\Core\Response\ApiResponseInterface;
15
use Commercetools\Core\Model\MapperInterface;
16
17
/**
18
 * @package Commercetools\Core\Request
19
 *
20
 * @method JsonObject mapResponse(ApiResponseInterface $response)
21
 * @method JsonObject mapFromResponse(ApiResponseInterface $response, MapperInterface $mapper = null)
22
 */
23
class PsrRequest extends AbstractApiRequest
24
{
25
    /**
26
     * @var RequestInterface
27
     */
28
    private $request;
29
30 1
    public function __construct(RequestInterface $request, Context $context = null)
31
    {
32 1
        $this->request = $request;
33 1
        parent::__construct(new JsonEndpoint(''), $context);
34 1
    }
35
36 1
    public static function ofRequest(RequestInterface $request, Context $context = null)
37
    {
38 1
        return new static($request, $context);
39
    }
40
41
    public function buildResponse(ResponseInterface $response)
42
    {
43
        return new ResourceResponse($response, $this, $this->getContext());
44
    }
45
46 1
    public function httpRequest()
47
    {
48 1
        return $this->request;
49
    }
50
}
51