1 | <?php |
||
23 | class Http |
||
24 | { |
||
25 | /** |
||
26 | * @var string The base request url. |
||
27 | */ |
||
28 | protected $baseUri; |
||
29 | /** |
||
30 | * @var \GuzzleHttp\Client |
||
31 | */ |
||
32 | protected $client; |
||
33 | /** |
||
34 | * @var array The middlewares. |
||
35 | */ |
||
36 | protected $middlewares = []; |
||
37 | |||
38 | 4 | public function __construct($baseUri) |
|
42 | |||
43 | /** |
||
44 | * Set http client. |
||
45 | * |
||
46 | * @param HttpClient $client |
||
47 | * |
||
48 | * @return $this |
||
49 | */ |
||
50 | public function setClient(HttpClient $client) |
||
56 | |||
57 | /** |
||
58 | * Get http client. |
||
59 | * |
||
60 | * @return \GuzzleHttp\Client |
||
61 | */ |
||
62 | 4 | public function getClient() |
|
77 | |||
78 | /** |
||
79 | * @param string $path |
||
80 | * |
||
81 | * @return \Psr\Http\Message\UriInterface |
||
82 | */ |
||
83 | public function buildUri($path) |
||
87 | |||
88 | /** |
||
89 | * Make request. |
||
90 | * |
||
91 | * @param string $url |
||
92 | * @param string $method |
||
93 | * @param array $options |
||
94 | * |
||
95 | * @return mixed |
||
96 | */ |
||
97 | 4 | public function request($url, $method = 'GET', $options = []) |
|
117 | |||
118 | /** |
||
119 | * Send a get request. |
||
120 | * |
||
121 | * @param string $url |
||
122 | * @param array $options |
||
123 | * |
||
124 | * @return mixed |
||
125 | */ |
||
126 | 3 | public function get($url, array $options = []) |
|
130 | |||
131 | /** |
||
132 | * Send a post request. |
||
133 | * |
||
134 | * @param string $url |
||
135 | * @param array $options |
||
136 | * |
||
137 | * @return mixed |
||
138 | */ |
||
139 | 3 | public function post($url, $options = []) |
|
145 | |||
146 | /** |
||
147 | * Send a delete request. |
||
148 | * |
||
149 | * @param string $url |
||
150 | * @param array $options |
||
151 | * |
||
152 | * @return mixed |
||
153 | */ |
||
154 | 3 | public function delete($url, $options = []) |
|
158 | |||
159 | /** |
||
160 | * Send a put request. |
||
161 | * |
||
162 | * @param string $url |
||
163 | * @param array $options |
||
164 | * |
||
165 | * @return mixed |
||
166 | */ |
||
167 | public function put($url, $options = []) |
||
171 | |||
172 | /** |
||
173 | * Upload file. |
||
174 | * |
||
175 | * @param string $url |
||
176 | * @param array $files |
||
177 | * @param array $form |
||
178 | * @param array $queries |
||
179 | * |
||
180 | * @return ResponseInterface |
||
181 | */ |
||
182 | public function upload($url, array $files = [], array $form = [], array $queries = []) |
||
199 | |||
200 | /** |
||
201 | * Parse json data. |
||
202 | * |
||
203 | * @param string|ResponseInterface $body |
||
204 | * @param bool $throws |
||
205 | * |
||
206 | * @throws HttpException |
||
207 | * |
||
208 | * @return array |
||
209 | */ |
||
210 | 3 | public function parseJSON($body, $throws = true) |
|
227 | |||
228 | /** |
||
229 | * Add a middleware. |
||
230 | * |
||
231 | * @param callable $middleware |
||
232 | * |
||
233 | * @return $this |
||
234 | */ |
||
235 | 3 | public function addMiddleware(callable $middleware) |
|
241 | |||
242 | 1 | public function clearMiddlewares() |
|
248 | |||
249 | /** |
||
250 | * Build a handler. |
||
251 | * |
||
252 | * @return HandlerStack |
||
253 | */ |
||
254 | 4 | protected function getHandler() |
|
264 | } |
||
265 |