44import java .io .InputStream ;
55import java .net .http .HttpRequest ;
66import java .nio .file .Path ;
7- import java .time .*;
8- import java .util .UUID ;
7+ import java .time .Duration ;
98import java .util .function .Supplier ;
109
1110/**
@@ -53,6 +52,15 @@ public interface HttpClientRequest {
5352 */
5453 HttpClientRequest header (String name , String value );
5554
55+ /**
56+ * Add the header to the request implicitly converting the value to a String.
57+ *
58+ * @param name The header name
59+ * @param value The header value
60+ * @return The request being built
61+ */
62+ HttpClientRequest header (String name , Object value );
63+
5664 /**
5765 * Set if body content should be gzip encoded.
5866 *
@@ -108,30 +116,31 @@ public interface HttpClientRequest {
108116 * @param val The value to add to the URL path.
109117 * @return The request being built
110118 */
111- HttpClientRequest path (UUID val );
119+ HttpClientRequest path (Object val );
112120
113121 /**
114- * Add a path segment to the URL .
122+ * Add a matrix parameter to the current path segment .
115123 *
116- * @param val The value to add to the URL path.
124+ * @param name The matrix parameter name
125+ * @param value The matrix parameter value which can be null
117126 * @return The request being built
118127 */
119- HttpClientRequest path ( LocalDate val );
128+ HttpClientRequest matrixParam ( String name , String value );
120129
121130 /**
122131 * Add a matrix parameter to the current path segment.
123132 *
124133 * @param name The matrix parameter name
125- * @param value The matrix parameter value
134+ * @param value The matrix parameter value which can be null
126135 * @return The request being built
127136 */
128- HttpClientRequest matrixParam (String name , String value );
137+ HttpClientRequest matrixParam (String name , Object value );
129138
130139 /**
131140 * Add a query parameter
132141 *
133142 * @param name The name of the query parameter
134- * @param value The value of the query parameter
143+ * @param value The value of the query parameter which can be null
135144 * @return The request being built
136145 */
137146 HttpClientRequest queryParam (String name , String value );
@@ -140,122 +149,28 @@ public interface HttpClientRequest {
140149 * Add a Integer query parameter
141150 *
142151 * @param name The name of the query parameter
143- * @param value The value of the query parameter
144- * @return The request being built
145- */
146- HttpClientRequest queryParam (String name , Integer value );
147-
148- /**
149- * Add a Long query parameter
150- *
151- * @param name The name of the query parameter
152- * @param value The value of the query parameter
153- * @return The request being built
154- */
155- HttpClientRequest queryParam (String name , Long value );
156-
157- /**
158- * Add a UUID query parameter
159- *
160- * @param name The name of the query parameter
161- * @param value The value of the query parameter
162- * @return The request being built
163- */
164- HttpClientRequest queryParam (String name , UUID value );
165-
166- /**
167- * Add a Boolean query parameter
168- *
169- * @param name The name of the query parameter
170- * @param value The value of the query parameter
171- * @return The request being built
172- */
173- HttpClientRequest queryParam (String name , Boolean value );
174-
175- /**
176- * Add a LocalDate query parameter
177- *
178- * @param name The name of the query parameter
179- * @param value The value of the query parameter
180- * @return The request being built
181- */
182- HttpClientRequest queryParam (String name , LocalDate value );
183-
184- /**
185- * Add a LocalTime query parameter
186- *
187- * @param name The name of the query parameter
188- * @param value The value of the query parameter
189- * @return The request being built
190- */
191- HttpClientRequest queryParam (String name , LocalTime value );
192-
193- /**
194- * Add a LocalDateTime query parameter
195- *
196- * @param name The name of the query parameter
197- * @param value The value of the query parameter
152+ * @param value The value of the query parameter which can be null
198153 * @return The request being built
199154 */
200- HttpClientRequest queryParam (String name , LocalDateTime value );
155+ HttpClientRequest queryParam (String name , Object value );
201156
202157 /**
203- * Add a Instant query parameter as ISO-8601 format .
158+ * Add a form parameter.
204159 *
205- * @param name The name of the query parameter
206- * @param value The value of the query parameter
160+ * @param name The form parameter name
161+ * @param value The form parameter value which can be null
207162 * @return The request being built
208163 */
209- HttpClientRequest queryParam (String name , Instant value );
164+ HttpClientRequest formParam (String name , String value );
210165
211166 /**
212167 * Add a form parameter.
213168 *
214169 * @param name The form parameter name
215- * @param value The form parameter value
170+ * @param value The form parameter value which can be null
216171 * @return The request being built
217172 */
218- HttpClientRequest formParam (String name , String value );
219-
220- /**
221- * Add a Integer value form parameter.
222- */
223- HttpClientRequest formParam (String name , Integer value );
224-
225- /**
226- * Add a Long value form parameter.
227- */
228- HttpClientRequest formParam (String name , Long value );
229-
230- /**
231- * Add a Long value form parameter.
232- */
233- HttpClientRequest formParam (String name , UUID value );
234-
235- /**
236- * Add a Boolean form parameter
237- */
238- HttpClientRequest formParam (String name , Boolean value );
239-
240- /**
241- * Add a LocalDate form parametert
242- */
243- HttpClientRequest formParam (String name , LocalDate value );
244-
245- /**
246- * Add a LocalTime form parameter
247- */
248- HttpClientRequest formParam (String name , LocalTime value );
249-
250- /**
251- * Add a LocalDateTime form parameter
252- */
253- HttpClientRequest formParam (String name , LocalDateTime value );
254-
255- /**
256- * Add a Instant form parameter as ISO-8601 format.
257- */
258- HttpClientRequest formParam (String name , Instant value );
173+ HttpClientRequest formParam (String name , Object value );
259174
260175 /**
261176 * Set encoded body content.
0 commit comments