1 <?php
2
3 namespace Http\Message\Decorator;
4
5 use Psr\Http\Message\ResponseInterface;
6
7 8 9
10 trait ResponseDecorator
11 {
12 use MessageDecorator {
13 getMessage as getResponse;
14 }
15
16 17 18 19 20 21 22
23 public function withResponse(ResponseInterface $response)
24 {
25 $new = clone $this;
26 $new->message = $response;
27
28 return $new;
29 }
30
31 32 33
34 public function getStatusCode()
35 {
36 return $this->message->getStatusCode();
37 }
38
39 40 41
42 public function withStatus($code, $reasonPhrase = '')
43 {
44 $new = clone $this;
45 $new->message = $this->message->withStatus($code, $reasonPhrase);
46
47 return $new;
48 }
49
50 51 52
53 public function getReasonPhrase()
54 {
55 return $this->message->getReasonPhrase();
56 }
57 }
58