source: vendor/guzzlehttp/guzzle/src/ClientTrait.php

Last change on this file was e3d4e0a, checked in by Vlado 222039 <vlado.popovski@…>, 7 days ago

Upload project files

  • Property mode set to 100644
File size: 8.8 KB
RevLine 
[e3d4e0a]1<?php
2
3namespace GuzzleHttp;
4
5use GuzzleHttp\Exception\GuzzleException;
6use GuzzleHttp\Promise\PromiseInterface;
7use Psr\Http\Message\ResponseInterface;
8use Psr\Http\Message\UriInterface;
9
10/**
11 * Client interface for sending HTTP requests.
12 */
13trait ClientTrait
14{
15 /**
16 * Create and send an HTTP request.
17 *
18 * Use an absolute path to override the base path of the client, or a
19 * relative path to append to the base path of the client. The URL can
20 * contain the query string as well.
21 *
22 * @param string $method HTTP method.
23 * @param string|UriInterface $uri URI object or string.
24 * @param array $options Request options to apply.
25 *
26 * @throws GuzzleException
27 */
28 abstract public function request(string $method, $uri, array $options = []): ResponseInterface;
29
30 /**
31 * Create and send an HTTP GET request.
32 *
33 * Use an absolute path to override the base path of the client, or a
34 * relative path to append to the base path of the client. The URL can
35 * contain the query string as well.
36 *
37 * @param string|UriInterface $uri URI object or string.
38 * @param array $options Request options to apply.
39 *
40 * @throws GuzzleException
41 */
42 public function get($uri, array $options = []): ResponseInterface
43 {
44 return $this->request('GET', $uri, $options);
45 }
46
47 /**
48 * Create and send an HTTP HEAD request.
49 *
50 * Use an absolute path to override the base path of the client, or a
51 * relative path to append to the base path of the client. The URL can
52 * contain the query string as well.
53 *
54 * @param string|UriInterface $uri URI object or string.
55 * @param array $options Request options to apply.
56 *
57 * @throws GuzzleException
58 */
59 public function head($uri, array $options = []): ResponseInterface
60 {
61 return $this->request('HEAD', $uri, $options);
62 }
63
64 /**
65 * Create and send an HTTP PUT request.
66 *
67 * Use an absolute path to override the base path of the client, or a
68 * relative path to append to the base path of the client. The URL can
69 * contain the query string as well.
70 *
71 * @param string|UriInterface $uri URI object or string.
72 * @param array $options Request options to apply.
73 *
74 * @throws GuzzleException
75 */
76 public function put($uri, array $options = []): ResponseInterface
77 {
78 return $this->request('PUT', $uri, $options);
79 }
80
81 /**
82 * Create and send an HTTP POST request.
83 *
84 * Use an absolute path to override the base path of the client, or a
85 * relative path to append to the base path of the client. The URL can
86 * contain the query string as well.
87 *
88 * @param string|UriInterface $uri URI object or string.
89 * @param array $options Request options to apply.
90 *
91 * @throws GuzzleException
92 */
93 public function post($uri, array $options = []): ResponseInterface
94 {
95 return $this->request('POST', $uri, $options);
96 }
97
98 /**
99 * Create and send an HTTP PATCH request.
100 *
101 * Use an absolute path to override the base path of the client, or a
102 * relative path to append to the base path of the client. The URL can
103 * contain the query string as well.
104 *
105 * @param string|UriInterface $uri URI object or string.
106 * @param array $options Request options to apply.
107 *
108 * @throws GuzzleException
109 */
110 public function patch($uri, array $options = []): ResponseInterface
111 {
112 return $this->request('PATCH', $uri, $options);
113 }
114
115 /**
116 * Create and send an HTTP DELETE request.
117 *
118 * Use an absolute path to override the base path of the client, or a
119 * relative path to append to the base path of the client. The URL can
120 * contain the query string as well.
121 *
122 * @param string|UriInterface $uri URI object or string.
123 * @param array $options Request options to apply.
124 *
125 * @throws GuzzleException
126 */
127 public function delete($uri, array $options = []): ResponseInterface
128 {
129 return $this->request('DELETE', $uri, $options);
130 }
131
132 /**
133 * Create and send an asynchronous HTTP request.
134 *
135 * Use an absolute path to override the base path of the client, or a
136 * relative path to append to the base path of the client. The URL can
137 * contain the query string as well. Use an array to provide a URL
138 * template and additional variables to use in the URL template expansion.
139 *
140 * @param string $method HTTP method
141 * @param string|UriInterface $uri URI object or string.
142 * @param array $options Request options to apply.
143 */
144 abstract public function requestAsync(string $method, $uri, array $options = []): PromiseInterface;
145
146 /**
147 * Create and send an asynchronous HTTP GET request.
148 *
149 * Use an absolute path to override the base path of the client, or a
150 * relative path to append to the base path of the client. The URL can
151 * contain the query string as well. Use an array to provide a URL
152 * template and additional variables to use in the URL template expansion.
153 *
154 * @param string|UriInterface $uri URI object or string.
155 * @param array $options Request options to apply.
156 */
157 public function getAsync($uri, array $options = []): PromiseInterface
158 {
159 return $this->requestAsync('GET', $uri, $options);
160 }
161
162 /**
163 * Create and send an asynchronous HTTP HEAD request.
164 *
165 * Use an absolute path to override the base path of the client, or a
166 * relative path to append to the base path of the client. The URL can
167 * contain the query string as well. Use an array to provide a URL
168 * template and additional variables to use in the URL template expansion.
169 *
170 * @param string|UriInterface $uri URI object or string.
171 * @param array $options Request options to apply.
172 */
173 public function headAsync($uri, array $options = []): PromiseInterface
174 {
175 return $this->requestAsync('HEAD', $uri, $options);
176 }
177
178 /**
179 * Create and send an asynchronous HTTP PUT request.
180 *
181 * Use an absolute path to override the base path of the client, or a
182 * relative path to append to the base path of the client. The URL can
183 * contain the query string as well. Use an array to provide a URL
184 * template and additional variables to use in the URL template expansion.
185 *
186 * @param string|UriInterface $uri URI object or string.
187 * @param array $options Request options to apply.
188 */
189 public function putAsync($uri, array $options = []): PromiseInterface
190 {
191 return $this->requestAsync('PUT', $uri, $options);
192 }
193
194 /**
195 * Create and send an asynchronous HTTP POST request.
196 *
197 * Use an absolute path to override the base path of the client, or a
198 * relative path to append to the base path of the client. The URL can
199 * contain the query string as well. Use an array to provide a URL
200 * template and additional variables to use in the URL template expansion.
201 *
202 * @param string|UriInterface $uri URI object or string.
203 * @param array $options Request options to apply.
204 */
205 public function postAsync($uri, array $options = []): PromiseInterface
206 {
207 return $this->requestAsync('POST', $uri, $options);
208 }
209
210 /**
211 * Create and send an asynchronous HTTP PATCH request.
212 *
213 * Use an absolute path to override the base path of the client, or a
214 * relative path to append to the base path of the client. The URL can
215 * contain the query string as well. Use an array to provide a URL
216 * template and additional variables to use in the URL template expansion.
217 *
218 * @param string|UriInterface $uri URI object or string.
219 * @param array $options Request options to apply.
220 */
221 public function patchAsync($uri, array $options = []): PromiseInterface
222 {
223 return $this->requestAsync('PATCH', $uri, $options);
224 }
225
226 /**
227 * Create and send an asynchronous HTTP DELETE request.
228 *
229 * Use an absolute path to override the base path of the client, or a
230 * relative path to append to the base path of the client. The URL can
231 * contain the query string as well. Use an array to provide a URL
232 * template and additional variables to use in the URL template expansion.
233 *
234 * @param string|UriInterface $uri URI object or string.
235 * @param array $options Request options to apply.
236 */
237 public function deleteAsync($uri, array $options = []): PromiseInterface
238 {
239 return $this->requestAsync('DELETE', $uri, $options);
240 }
241}
Note: See TracBrowser for help on using the repository browser.