1 /*
2 * ====================================================================
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 * ====================================================================
20 *
21 * This software consists of voluntary contributions made by many
22 * individuals on behalf of the Apache Software Foundation. For more
23 * information on the Apache Software Foundation, please see
24 * <http://www.apache.org/>.
25 *
26 */
27
28 package org.apache.hc.client5.http.async.methods;
29
30 import java.net.URI;
31
32 import org.apache.hc.core5.http.HttpHost;
33 import org.apache.hc.core5.http.Method;
34 import org.apache.hc.core5.http.message.BasicHttpRequest;
35
36 /**
37 * Common HTTP methods using {@link BasicHttpRequest} as a HTTP request message representation.
38 *
39 * @since 5.0
40 *
41 * @deprecated Use {@link org.apache.hc.core5.http.support.BasicRequestBuilder}.
42 */
43 @Deprecated
44 public final class BasicHttpRequests {
45
46 /**
47 * Creates a new BasicHttpRequest for the given {@code method} and {@code String} URI.
48 *
49 * @param method A method supported by this class.
50 * @param uri a non-null request string URI.
51 * @return A new BasicHttpRequest.
52 */
53 public static BasicHttpRequest create(final String method, final String uri) {
54 return create(Method.normalizedValueOf(method), uri);
55 }
56
57 /**
58 * Creates a new BasicHttpRequest for the given {@code method} and {@code URI}.
59 *
60 * @param method A method supported by this class.
61 * @param uri a non-null request URI.
62 * @return A new BasicHttpRequest.
63 */
64 public static BasicHttpRequest create(final String method, final URI uri) {
65 return create(Method.normalizedValueOf(method), uri);
66 }
67
68 /**
69 * Creates a new DELETE {@link BasicHttpRequest}.
70 *
71 * @param uri a non-null URI.
72 * @return a new BasicHttpRequest
73 */
74 public static BasicHttpRequest delete(final String uri) {
75 return delete(URI.create(uri));
76 }
77
78 /**
79 * Creates a new DELETE {@link BasicHttpRequest}.
80 *
81 * @param uri a non-null URI.
82 * @return a new BasicHttpRequest
83 */
84 public static BasicHttpRequest delete(final URI uri) {
85 return create(Method.DELETE, uri);
86 }
87
88 /**
89 * Creates a new DELETE {@link BasicHttpRequest}.
90 *
91 * @param host HTTP host.
92 * @param path request path.
93 * @return a new BasicHttpRequest
94 */
95 public static BasicHttpRequest delete(final HttpHost host, final String path) {
96 return create(Method.DELETE, host, path);
97 }
98
99 /**
100 * Creates a new GET {@link BasicHttpRequest}.
101 *
102 * @param uri a non-null URI.
103 * @return a new BasicHttpRequest
104 */
105 public static BasicHttpRequest get(final String uri) {
106 return get(URI.create(uri));
107 }
108
109 /**
110 * Creates a new GET {@link BasicHttpRequest}.
111 *
112 * @param uri a non-null URI.
113 * @return a new BasicHttpRequest
114 */
115 public static BasicHttpRequest get(final URI uri) {
116 return create(Method.GET, uri);
117 }
118
119 /**
120 * Creates a new HEAD {@link BasicHttpRequest}.
121 *
122 * @param host HTTP host.
123 * @param path request path.
124 * @return a new BasicHttpRequest
125 */
126 public static BasicHttpRequest get(final HttpHost host, final String path) {
127 return create(Method.GET, host, path);
128 }
129
130 /**
131 * Creates a new HEAD {@link BasicHttpRequest}.
132 *
133 * @param uri a non-null URI.
134 * @return a new BasicHttpRequest
135 */
136 public static BasicHttpRequest head(final String uri) {
137 return head(URI.create(uri));
138 }
139
140 /**
141 * Creates a new HEAD {@link BasicHttpRequest}.
142 *
143 * @param uri a non-null URI.
144 * @return a new BasicHttpRequest
145 */
146 public static BasicHttpRequest head(final URI uri) {
147 return create(Method.HEAD, uri);
148 }
149
150 /**
151 * Creates a new HEAD {@link BasicHttpRequest}.
152 *
153 * @param host HTTP host.
154 * @param path request path.
155 * @return a new BasicHttpRequest
156 */
157 public static BasicHttpRequest head(final HttpHost host, final String path) {
158 return create(Method.HEAD, host, path);
159 }
160
161 /**
162 * Creates a new OPTIONS {@link BasicHttpRequest}.
163 *
164 * @param uri a non-null URI.
165 * @return a new BasicHttpRequest
166 */
167 public static BasicHttpRequest options(final String uri) {
168 return options(URI.create(uri));
169 }
170
171 /**
172 * Creates a new OPTIONS {@link BasicHttpRequest}.
173 *
174 * @param uri a non-null URI.
175 * @return a new BasicHttpRequest
176 */
177 public static BasicHttpRequest options(final URI uri) {
178 return create(Method.OPTIONS, uri);
179 }
180
181 /**
182 * Creates a new OPTIONS {@link BasicHttpRequest}.
183 *
184 * @param host HTTP host.
185 * @param path request path.
186 * @return a new BasicHttpRequest
187 */
188 public static BasicHttpRequest options(final HttpHost host, final String path) {
189 return create(Method.OPTIONS, host, path);
190 }
191
192 /**
193 * Creates a new PATCH {@link BasicHttpRequest}.
194 *
195 * @param uri a non-null URI.
196 * @return a new BasicHttpRequest
197 */
198 public static BasicHttpRequest patch(final String uri) {
199 return patch(URI.create(uri));
200 }
201
202 /**
203 * Creates a new PATCH {@link BasicHttpRequest}.
204 *
205 * @param uri a non-null URI.
206 * @return a new BasicHttpRequest
207 */
208 public static BasicHttpRequest patch(final URI uri) {
209 return create(Method.PATCH, uri);
210 }
211
212 /**
213 * Creates a new PATCH {@link BasicHttpRequest}.
214 *
215 * @param host HTTP host.
216 * @param path request path.
217 * @return a new BasicHttpRequest
218 */
219 public static BasicHttpRequest patch(final HttpHost host, final String path) {
220 return create(Method.PATCH, host, path);
221 }
222
223 /**
224 * Creates a new POST {@link BasicHttpRequest}.
225 *
226 * @param uri a non-null URI.
227 * @return a new BasicHttpRequest
228 */
229 public static BasicHttpRequest post(final String uri) {
230 return post(URI.create(uri));
231 }
232
233 /**
234 * Creates a new POST {@link BasicHttpRequest}.
235 *
236 * @param uri a non-null URI.
237 * @return a new BasicHttpRequest
238 */
239 public static BasicHttpRequest post(final URI uri) {
240 return create(Method.POST, uri);
241 }
242
243 /**
244 * Creates a new POST {@link BasicHttpRequest}.
245 *
246 * @param host HTTP host.
247 * @param path request path.
248 * @return a new BasicHttpRequest
249 */
250 public static BasicHttpRequest post(final HttpHost host, final String path) {
251 return create(Method.POST, host, path);
252 }
253
254 /**
255 * Creates a new PUT {@link BasicHttpRequest}.
256 *
257 * @param uri a non-null URI.
258 * @return a new BasicHttpRequest
259 */
260 public static BasicHttpRequest put(final String uri) {
261 return put(URI.create(uri));
262 }
263
264 /**
265 * Creates a new PUT {@link BasicHttpRequest}.
266 *
267 * @param uri a non-null URI.
268 * @return a new BasicHttpRequest
269 */
270 public static BasicHttpRequest put(final URI uri) {
271 return create(Method.PUT, uri);
272 }
273
274 /**
275 * Creates a new PUT {@link BasicHttpRequest}.
276 *
277 * @param host HTTP host.
278 * @param path request path.
279 * @return a new BasicHttpRequest
280 */
281 public static BasicHttpRequest put(final HttpHost host, final String path) {
282 return create(Method.PUT, host, path);
283 }
284
285 /**
286 * Creates a new TRACE {@link BasicHttpRequest}.
287 *
288 * @param uri a non-null URI.
289 * @return a new BasicHttpRequest
290 */
291 public static BasicHttpRequest trace(final String uri) {
292 return trace(URI.create(uri));
293 }
294
295 /**
296 * Creates a new TRACE {@link BasicHttpRequest}.
297 *
298 * @param uri a non-null URI.
299 * @return a new BasicHttpRequest
300 */
301 public static BasicHttpRequest trace(final URI uri) {
302 return create(Method.TRACE, uri);
303 }
304
305 /**
306 * Creates a new TRACE {@link BasicHttpRequest}.
307 *
308 * @param host HTTP host.
309 * @param path request path.
310 * @return a new BasicHttpRequest
311 */
312 public static BasicHttpRequest trace(final HttpHost host, final String path) {
313 return create(Method.TRACE, host, path);
314 }
315
316 /**
317 * Creates a new {@link BasicHttpRequest}.
318 *
319 * @param method a non-null HTTP method.
320 * @param uri a non-null URI String.
321 * @return a new BasicHttpRequest
322 */
323 public static BasicHttpRequest create(final Method method, final String uri) {
324 return create(method, URI.create(uri));
325 }
326
327 /**
328 * Creates a new {@link BasicHttpRequest}.
329 *
330 * @param method a non-null HTTP method.
331 * @param uri a non-null URI.
332 * @return a new BasicHttpRequest
333 */
334 public static BasicHttpRequest create(final Method method, final URI uri) {
335 return new BasicHttpRequest(method, uri);
336 }
337
338 /**
339 * Creates a new {@link BasicHttpRequest}.
340 *
341 * @param method a non-null HTTP method.
342 * @param host HTTP host.
343 * @param path request path.
344 * @return a new subclass of BasicHttpRequest
345 */
346 public static BasicHttpRequest create(final Method method, final HttpHost host, final String path) {
347 return new BasicHttpRequest(method, host, path);
348 }
349
350 }