1: <?php
2: namespace Worldline\Connect\Sdk\Communication;
3:
4: /**
5: * Class ResponseBuilder
6: *
7: * @package Worldline\Connect\Sdk\Communication
8: */
9: class ResponseBuilder
10: {
11: /**
12: * @var int
13: */
14: private int $httpStatusCode = 0;
15:
16: /**
17: * @var array
18: */
19: private array $headers = array();
20:
21: /**
22: * @var string
23: */
24: private string $body = '';
25:
26: /**
27: * @param int $httpStatusCode
28: *
29: * @return void
30: */
31: public function setHttpStatusCode(int $httpStatusCode): void
32: {
33: $this->httpStatusCode = $httpStatusCode;
34: }
35:
36: /**
37: * @param array $headers
38: *
39: * @return void
40: */
41: public function setHeaders(array $headers): void
42: {
43: $this->headers = $headers;
44: }
45:
46: /**
47: * @param string $data
48: *
49: * @return void
50: */
51: public function appendBody(string $data): void
52: {
53: $this->body .= $data;
54: }
55:
56: /**
57: * @param string $body
58: *
59: * @return void
60: */
61: public function setBody(string $body): void
62: {
63: $this->body = $body;
64: }
65:
66: /**
67: * @return ConnectionResponse
68: */
69: public function getResponse(): ConnectionResponse
70: {
71: return new ConnectionResponse($this->httpStatusCode, $this->headers, $this->body);
72: }
73: }
74: