RestResponse::getPayload()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace As3\Modlr\Rest;
4
5
/**
6
 * REST Response object.
7
 * Is created by an API adapter after processing a REST Request.
8
 *
9
 * @author Jacob Bare <[email protected]>
10
 */
11
class RestResponse
12
{
13
    /**
14
     * The HTTP status code, such as 200.
15
     *
16
     * @var int
17
     */
18
    private $status;
19
20
    /**
21
     * The response payload, if set.
22
     *
23
     * @var RestPayload|null
24
     */
25
    private $payload;
26
27
    /**
28
     * Response headers.
29
     *
30
     * @var array
31
     */
32
    private $headers = [];
33
34
    /**
35
     * Constructor.
36
     *
37
     * @param   int                 $status
38
     * @param   RestPayload|null    $payload
39
     */
40
    public function __construct($status, RestPayload $payload = null)
41
    {
42
        $this->status = (Integer) $status;
43
        $this->payload = $payload;
44
    }
45
46
    /**
47
     * Adds a response header.
48
     *
49
     * @param   string  $name
50
     * @param   string  $value
51
     * @return  self
52
     */
53
    public function addHeader($name, $value)
54
    {
55
        $name = strtolower($name);
56
        $this->headers[$name] = $value;
57
        return $this;
58
    }
59
60
    /**
61
     * Sets an array of response headers.
62
     *
63
     * @param   array   $headers
64
     * @return  self
65
     */
66
    public function setHeaders(array $headers)
0 ignored issues
show
Unused Code introduced by
The parameter $headers is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
67
    {
68
        foreach ($this->headers as $name => $value) {
69
            $this->addHeader($name, $value);
70
        }
71
        return $this;
72
    }
73
74
    /**
75
     * Gets the response headers.
76
     *
77
     * @return  array
78
     */
79
    public function getHeaders()
80
    {
81
        return $this->headers;
82
    }
83
84
    /**
85
     * Gets the HTTP status code.
86
     *
87
     * @return  int
88
     */
89
    public function getStatus()
90
    {
91
        return $this->status;
92
    }
93
94
    /**
95
     * Gets the response payload.
96
     *
97
     * @return  RestPayload|null
98
     */
99
    public function getPayload()
100
    {
101
        return $this->payload;
102
    }
103
104
    /**
105
     * Gets the response content, from the payload.
106
     *
107
     * @return  string|null
108
     */
109
    public function getContent()
110
    {
111
        if (null === $this->getPayload()) {
112
            return null;
113
        }
114
        return $this->getPayload()->getData();
115
    }
116
}
117