View Javadoc
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      public static BasicHttpRequest delete(final String uri) {
69          return delete(URI.create(uri));
70      }
71  
72      public static BasicHttpRequest delete(final URI uri) {
73          return create(Method.DELETE, uri);
74      }
75  
76      public static BasicHttpRequest delete(final HttpHost host, final String path) {
77          return create(Method.DELETE, host, path);
78      }
79  
80      public static BasicHttpRequest get(final String uri) {
81          return get(URI.create(uri));
82      }
83  
84      public static BasicHttpRequest get(final URI uri) {
85          return create(Method.GET, uri);
86      }
87  
88      public static BasicHttpRequest get(final HttpHost host, final String path) {
89          return create(Method.GET, host, path);
90      }
91  
92      public static BasicHttpRequest head(final String uri) {
93          return head(URI.create(uri));
94      }
95  
96      public static BasicHttpRequest head(final URI uri) {
97          return create(Method.HEAD, uri);
98      }
99  
100     public static BasicHttpRequest head(final HttpHost host, final String path) {
101         return create(Method.HEAD, host, path);
102     }
103 
104     public static BasicHttpRequest options(final String uri) {
105         return options(URI.create(uri));
106     }
107 
108     public static BasicHttpRequest options(final URI uri) {
109         return create(Method.OPTIONS, uri);
110     }
111 
112     public static BasicHttpRequest options(final HttpHost host, final String path) {
113         return create(Method.OPTIONS, host, path);
114     }
115 
116     public static BasicHttpRequest patch(final String uri) {
117         return patch(URI.create(uri));
118     }
119 
120     public static BasicHttpRequest patch(final URI uri) {
121         return create(Method.PATCH, uri);
122     }
123 
124     public static BasicHttpRequest patch(final HttpHost host, final String path) {
125         return create(Method.PATCH, host, path);
126     }
127 
128     public static BasicHttpRequest post(final String uri) {
129         return post(URI.create(uri));
130     }
131 
132     public static BasicHttpRequest post(final URI uri) {
133         return create(Method.POST, uri);
134     }
135 
136     public static BasicHttpRequest post(final HttpHost host, final String path) {
137         return create(Method.POST, host, path);
138     }
139 
140     public static BasicHttpRequest put(final String uri) {
141         return put(URI.create(uri));
142     }
143 
144     public static BasicHttpRequest put(final URI uri) {
145         return create(Method.PUT, uri);
146     }
147 
148     public static BasicHttpRequest put(final HttpHost host, final String path) {
149         return create(Method.PUT, host, path);
150     }
151 
152     public static BasicHttpRequest trace(final String uri) {
153         return trace(URI.create(uri));
154     }
155 
156     public static BasicHttpRequest trace(final URI uri) {
157         return create(Method.TRACE, uri);
158     }
159 
160     public static BasicHttpRequest trace(final HttpHost host, final String path) {
161         return create(Method.TRACE, host, path);
162     }
163 
164     /**
165      * Creates a request object of the exact subclass of {@link BasicHttpRequest}.
166      *
167      * @param uri a non-null URI String.
168      * @return a new subclass of BasicHttpRequest
169      */
170     public static BasicHttpRequest create(final Method method, final String uri) {
171         return create(method, URI.create(uri));
172     }
173 
174     /**
175      * Creates a request object of the exact subclass of {@link BasicHttpRequest}.
176      *
177      * @param uri a non-null URI.
178      * @return a new subclass of BasicHttpRequest
179      */
180     public static BasicHttpRequest create(final Method method, final URI uri) {
181         return new BasicHttpRequest(method, uri);
182     }
183 
184     /**
185      * Creates a request object of the exact subclass of {@link BasicHttpRequest}.
186      *
187      * @param host HTTP host.
188      * @param path request path.
189      * @return a new subclass of BasicHttpRequest
190      */
191     public static BasicHttpRequest create(final Method method, final HttpHost host, final String path) {
192         return new BasicHttpRequest(method, host, path);
193     }
194 
195 }