1 | <?php |
||
15 | class Request |
||
16 | { |
||
17 | //@see: http://developer.sugarcrm.com/2013/08/30/doing-put-and-delete-with-curl-in-php/ |
||
18 | const HTTP_METHOD_DELETE = 'DELETE'; |
||
19 | const HTTP_METHOD_GET = 'GET'; |
||
20 | const HTTP_METHOD_PATCH = 'PATCH'; |
||
21 | const HTTP_METHOD_POST = 'POST'; |
||
22 | const HTTP_METHOD_PUT = 'PUT'; |
||
23 | |||
24 | /** @var array */ |
||
25 | private $defaultHeaderLines = array(); |
||
26 | |||
27 | /** @var array */ |
||
28 | private $defaultOptions = array(); |
||
29 | |||
30 | /** @var DispatcherInterface */ |
||
31 | private $dispatcher; |
||
32 | |||
33 | /** @var array */ |
||
34 | private $headerLines = array(); |
||
35 | |||
36 | /** @var Merge */ |
||
37 | private $merge; |
||
38 | |||
39 | /** @var array */ |
||
40 | private $options = array(); |
||
41 | |||
42 | /** |
||
43 | * @param DispatcherInterface $dispatcher |
||
44 | * @param Merge $merge |
||
45 | * @param array $defaultHeaderLines |
||
46 | * @param array $defaultOptions |
||
47 | */ |
||
48 | public function __construct(DispatcherInterface $dispatcher, Merge $merge, array $defaultHeaderLines = array(), array $defaultOptions = array()) |
||
55 | |||
56 | /** |
||
57 | * @return Request |
||
58 | */ |
||
59 | public function __clone() |
||
68 | |||
69 | /** |
||
70 | * @param HeaderLineInterface $line |
||
71 | */ |
||
72 | public function addHeaderLine(HeaderLineInterface $line) |
||
76 | |||
77 | /** |
||
78 | * @param OptionInterface $option |
||
79 | */ |
||
80 | public function addOption(OptionInterface $option) |
||
84 | |||
85 | /** |
||
86 | * @param string $line - CURLOPT_* - see: http://php.net/manual/en/function.curl-setopt.php |
||
87 | */ |
||
88 | public function addRawHeaderLine($line) |
||
92 | |||
93 | /** |
||
94 | * @param string $key - CURLOPT_* - see: http://php.net/manual/en/function.curl-setopt.php |
||
95 | * @param mixed $value |
||
96 | */ |
||
97 | public function addRawOption($key, $value) |
||
101 | |||
102 | /** |
||
103 | * @param string $url |
||
104 | * @param array $parameters |
||
105 | * @return Response |
||
106 | */ |
||
107 | public function get($url, array $parameters = array()) |
||
116 | |||
117 | /** |
||
118 | * @param string $url |
||
119 | * @param array $parameters |
||
120 | * @param null|string|array $data |
||
121 | * @return Response |
||
122 | */ |
||
123 | public function post($url, array $parameters = array(), $data = null) |
||
132 | |||
133 | /** |
||
134 | * @param string $url |
||
135 | * @param array $parameters |
||
136 | * @param null|string|array $data |
||
137 | * @return Response |
||
138 | */ |
||
139 | public function put($url, array $parameters = array(), $data = null) |
||
148 | |||
149 | /** |
||
150 | * @param string $url |
||
151 | * @param array $parameters |
||
152 | * @param null|string|array $data |
||
153 | * @return Response |
||
154 | */ |
||
155 | public function patch($url, array $parameters = array(), $data = null) |
||
164 | |||
165 | /** |
||
166 | * @param string $url |
||
167 | * @param array $parameters |
||
168 | * @return Response |
||
169 | */ |
||
170 | public function delete($url, array $parameters = array()) |
||
179 | |||
180 | /** |
||
181 | * @see: https://de.wikipedia.org/wiki/Representational_State_Transfer |
||
182 | public function head($url) |
||
183 | { |
||
184 | } |
||
185 | public function options($url) |
||
186 | { |
||
187 | } |
||
188 | public function trace($url) |
||
189 | { |
||
190 | } |
||
191 | */ |
||
192 | |||
193 | /** |
||
194 | * @param bool|false $alsoTheDefaults |
||
195 | */ |
||
196 | public function reset($alsoTheDefaults = false) |
||
206 | |||
207 | /** |
||
208 | * @param string $url |
||
209 | * @param string $method |
||
210 | * @param null|array $parameters |
||
211 | * @param null|string|array $data |
||
212 | * @return Response |
||
213 | */ |
||
214 | private function execute($url, $method, array $parameters = array(), $data = null) |
||
259 | } |
||
260 |