Skip to content

Commit 4e4c32b

Browse files
committed
#47 - Change method .withHandler() -> .handler() with deprecation
1 parent 7e33fe5 commit 4e4c32b

File tree

9 files changed

+53
-29
lines changed

9 files changed

+53
-29
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,21 +118,21 @@ Overview of response types for sync calls.
118118
<tr><td>bean&lt;E&gt</td><td>E</td></tr>
119119
<tr><td>list&lt;E&gt</td><td>List&lt;E&gt;</td></tr>
120120
<tr><td>stream&lt;E&gt</td><td>Stream&lt;E&gt;</td></tr>
121-
<tr><td>withHandler(HttpResponse.BodyHandler&lt;E&gt;)</td><td>HttpResponse&lt;E&gt;</td></tr>
121+
<tr><td>handler(HttpResponse.BodyHandler&lt;E&gt;)</td><td>HttpResponse&lt;E&gt;</td></tr>
122122
<tr><td>&nbsp;</td><td>&nbsp;</td></tr>
123123
<tr><td><b>async processing</b></td><td>&nbsp;</td></tr>
124124
<tr><td>asVoid</td><td>CompletableFuture&lt;HttpResponse&lt;Void&gt;&gt;</td></tr>
125125
<tr><td>asString</td><td>CompletableFuture&lt;HttpResponse&lt;String&gt;&gt;</td></tr>
126126
<tr><td>bean&lt;E&gt</td><td>CompletableFuture&lt;E&gt;</td></tr>
127127
<tr><td>list&lt;E&gt</td><td>CompletableFuture&lt;List&lt;E&gt;&gt;</td></tr>
128128
<tr><td>stream&lt;E&gt</td><td>CompletableFuture&lt;Stream&lt;E&gt;&gt;</td></tr>
129-
<tr><td>withHandler(HttpResponse.BodyHandler&lt;E&gt)</td><td>CompletableFuture&lt;HttpResponse&lt;E&gt;&gt;</td></tr>
129+
<tr><td>handler(HttpResponse.BodyHandler&lt;E&gt)</td><td>CompletableFuture&lt;HttpResponse&lt;E&gt;&gt;</td></tr>
130130
</table>
131131

132132
### HttpResponse BodyHandlers
133133

134134
JDK HttpClient provides a number of [BodyHandlers](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.BodyHandler.html)
135-
including reactive Flow based subscribers. With the `withHandler()` method we can use any of these or our own [`HttpResponse.BodyHandler`](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.BodyHandler.html)
135+
including reactive Flow based subscribers. With the `handler()` method we can use any of these or our own [`HttpResponse.BodyHandler`](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.BodyHandler.html)
136136
implementation.
137137

138138
Refer to [HttpResponse.BodyHandlers](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.BodyHandlers.html)
@@ -307,7 +307,7 @@ The `bean()`, `list()` and `stream()` responses throw a `HttpException` if the s
307307
<tr><td>bean&lt;E&gt</td><td>CompletableFuture&lt;E&gt;</td></tr>
308308
<tr><td>list&lt;E&gt</td><td>CompletableFuture&lt;List&lt;E&gt;&gt;</td></tr>
309309
<tr><td>stream&lt;E&gt</td><td>CompletableFuture&lt;Stream&lt;E&gt;&gt;</td></tr>
310-
<tr><td>withHandler(HttpResponse.BodyHandler&lt;E&gt)</td><td>CompletableFuture&lt;HttpResponse&lt;E&gt;&gt;</td></tr>
310+
<tr><td>handler(HttpResponse.BodyHandler&lt;E&gt)</td><td>CompletableFuture&lt;HttpResponse&lt;E&gt;&gt;</td></tr>
311311
</table>
312312

313313
### .async().asDiscarding() - HttpResponse&lt;Void&gt;
@@ -374,15 +374,15 @@ clientContext.request()
374374

375375
```
376376

377-
### .async().withHandler(...) - Any `Response.BodyHandler` implementation
377+
### .async().handler(...) - Any `Response.BodyHandler` implementation
378378

379379
The example below is a line subscriber processing response content line by line.
380380

381381
```java
382382
CompletableFuture<HttpResponse<Void>> future = clientContext.request()
383383
.path("hello/lineStream")
384384
.GET().async()
385-
.withHandler(HttpResponse.BodyHandlers.fromLineSubscriber(new Flow.Subscriber<>() {
385+
.handler(HttpResponse.BodyHandlers.fromLineSubscriber(new Flow.Subscriber<>() {
386386

387387
@Override
388388
public void onSubscribe(Flow.Subscription subscription) {

client/src/main/java/io/avaje/http/client/DHttpAsync.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ private <E> CompletableFuture<HttpResponse<E>> with(boolean loggable, HttpRespon
2121
}
2222

2323
@Override
24-
public <E> CompletableFuture<HttpResponse<E>> withHandler(HttpResponse.BodyHandler<E> handler) {
24+
public <E> CompletableFuture<HttpResponse<E>> handler(HttpResponse.BodyHandler<E> handler) {
2525
return with(false, handler);
2626
}
2727

client/src/main/java/io/avaje/http/client/DHttpCall.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public HttpCall<HttpResponse<InputStream>> asInputStream() {
4545
}
4646

4747
@Override
48-
public <E> HttpCall<HttpResponse<E>> withHandler(HttpResponse.BodyHandler<E> bodyHandler) {
48+
public <E> HttpCall<HttpResponse<E>> handler(HttpResponse.BodyHandler<E> bodyHandler) {
4949
return new CallHandler<>(bodyHandler);
5050
}
5151

@@ -182,11 +182,11 @@ private class CallHandler<E> implements HttpCall<HttpResponse<E>> {
182182
}
183183
@Override
184184
public HttpResponse<E> execute() {
185-
return request.withHandler(handler);
185+
return request.handler(handler);
186186
}
187187
@Override
188188
public CompletableFuture<HttpResponse<E>> async() {
189-
return request.async().withHandler(handler);
189+
return request.async().handler(handler);
190190
}
191191
}
192192
}

client/src/main/java/io/avaje/http/client/DHttpClientRequest.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ public <T> List<T> list(Class<T> cls) {
436436

437437
@Override
438438
public <T> Stream<T> stream(Class<T> cls) {
439-
final HttpResponse<Stream<String>> res = withHandler(HttpResponse.BodyHandlers.ofLines());
439+
final HttpResponse<Stream<String>> res = handler(HttpResponse.BodyHandlers.ofLines());
440440
this.httpResponse = res;
441441
if (res.statusCode() >= 300) {
442442
throw new HttpException(res, context);
@@ -446,7 +446,7 @@ public <T> Stream<T> stream(Class<T> cls) {
446446
}
447447

448448
@Override
449-
public <T> HttpResponse<T> withHandler(HttpResponse.BodyHandler<T> responseHandler) {
449+
public <T> HttpResponse<T> handler(HttpResponse.BodyHandler<T> responseHandler) {
450450
final HttpResponse<T> response = sendWith(responseHandler);
451451
context.afterResponse(this);
452452
return response;
@@ -528,7 +528,7 @@ public long responseTimeMicros() {
528528

529529
@Override
530530
public HttpResponse<byte[]> asByteArray() {
531-
return withHandler(HttpResponse.BodyHandlers.ofByteArray());
531+
return handler(HttpResponse.BodyHandlers.ofByteArray());
532532
}
533533

534534
private HttpResponse<String> addMetrics(final HttpResponse<String> res) {
@@ -539,35 +539,35 @@ private HttpResponse<String> addMetrics(final HttpResponse<String> res) {
539539
@Override
540540
public HttpResponse<String> asString() {
541541
loggableResponseBody = true;
542-
return addMetrics(withHandler(HttpResponse.BodyHandlers.ofString()));
542+
return addMetrics(handler(HttpResponse.BodyHandlers.ofString()));
543543
}
544544

545545
@Override
546546
public HttpResponse<String> asPlainString() {
547547
loggableResponseBody = true;
548-
final HttpResponse<String> hres = addMetrics(withHandler(HttpResponse.BodyHandlers.ofString()));
548+
final HttpResponse<String> hres = addMetrics(handler(HttpResponse.BodyHandlers.ofString()));
549549
context.checkResponse(hres);
550550
return hres;
551551
}
552552

553553
@Override
554554
public HttpResponse<Void> asDiscarding() {
555-
return withHandler(discarding());
555+
return handler(discarding());
556556
}
557557

558558
@Override
559559
public HttpResponse<InputStream> asInputStream() {
560-
return withHandler(HttpResponse.BodyHandlers.ofInputStream());
560+
return handler(HttpResponse.BodyHandlers.ofInputStream());
561561
}
562562

563563
@Override
564564
public HttpResponse<Path> asFile(Path file) {
565-
return withHandler(HttpResponse.BodyHandlers.ofFile(file));
565+
return handler(HttpResponse.BodyHandlers.ofFile(file));
566566
}
567567

568568
@Override
569569
public HttpResponse<Stream<String>> asLines() {
570-
return withHandler(HttpResponse.BodyHandlers.ofLines());
570+
return handler(HttpResponse.BodyHandlers.ofLines());
571571
}
572572

573573
private HttpRequest.Builder newReq(String url) {

client/src/main/java/io/avaje/http/client/HttpAsyncResponse.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ public interface HttpAsyncResponse {
193193
* CompletableFuture<HttpResponse<Void>> future = clientContext.request()
194194
* .path("hello/lineStream")
195195
* .GET().async()
196-
* .withHandler(HttpResponse.BodyHandlers.fromLineSubscriber(new Flow.Subscriber<>() {
196+
* .handler(HttpResponse.BodyHandlers.fromLineSubscriber(new Flow.Subscriber<>() {
197197
*
198198
* @Override
199199
* public void onSubscribe(Flow.Subscription subscription) {
@@ -221,7 +221,15 @@ public interface HttpAsyncResponse {
221221
* @param bodyHandler The body handler to use to process the response
222222
* @return The CompletableFuture of the response
223223
*/
224-
<E> CompletableFuture<HttpResponse<E>> withHandler(HttpResponse.BodyHandler<E> bodyHandler);
224+
<E> CompletableFuture<HttpResponse<E>> handler(HttpResponse.BodyHandler<E> bodyHandler);
225+
226+
/**
227+
* Deprecated - migrate to handler().
228+
*/
229+
@Deprecated
230+
default <E> CompletableFuture<HttpResponse<E>> withHandler(HttpResponse.BodyHandler<E> bodyHandler) {
231+
return handler(bodyHandler);
232+
}
225233

226234
/**
227235
* Process expecting a bean response body (typically from json content).

client/src/main/java/io/avaje/http/client/HttpCallResponse.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,21 @@ public interface HttpCallResponse {
109109
* HttpCall<E> call = clientContext.request()
110110
* .path("hello/lineStream")
111111
* .GET()
112-
* .call().withHandler(HttpResponse.BodyHandler<E> ...);
112+
* .call().handler(HttpResponse.BodyHandler<E> ...);
113113
* }</pre>
114114
*
115115
* @param bodyHandler The response body handler to use
116116
* @return The HttpCall to allow sync or async execution
117117
*/
118-
<E> HttpCall<HttpResponse<E>> withHandler(HttpResponse.BodyHandler<E> bodyHandler);
118+
<E> HttpCall<HttpResponse<E>> handler(HttpResponse.BodyHandler<E> bodyHandler);
119+
120+
/**
121+
* Deprecated - migrate to handler().
122+
*/
123+
@Deprecated
124+
default <E> HttpCall<HttpResponse<E>> withHandler(HttpResponse.BodyHandler<E> bodyHandler) {
125+
return handler(bodyHandler);
126+
}
119127

120128
/**
121129
* A bean response to execute async or sync.

client/src/main/java/io/avaje/http/client/HttpClientResponse.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,14 @@ public interface HttpClientResponse {
167167
/**
168168
* Return the response using the given response body handler.
169169
*/
170-
<T> HttpResponse<T> withHandler(HttpResponse.BodyHandler<T> responseHandler);
170+
<T> HttpResponse<T> handler(HttpResponse.BodyHandler<T> responseHandler);
171+
172+
/**
173+
* Deprecated - migrate to handler().
174+
*/
175+
@Deprecated
176+
default <T> HttpResponse<T> withHandler(HttpResponse.BodyHandler<T> responseHandler) {
177+
return handler(responseHandler);
178+
}
171179

172180
}

client/src/test/java/io/avaje/http/client/HelloControllerTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ void async_stream_fromLineSubscriber() throws ExecutionException, InterruptedExc
307307
final CompletableFuture<HttpResponse<Void>> future = clientContext.request()
308308
.path("hello/stream")
309309
.GET()
310-
.async().withHandler(HttpResponse.BodyHandlers.fromLineSubscriber(new Flow.Subscriber<>() {
310+
.async().handler(HttpResponse.BodyHandlers.fromLineSubscriber(new Flow.Subscriber<>() {
311311
@Override
312312
public void onSubscribe(Flow.Subscription subscription) {
313313
subscription.request(Long.MAX_VALUE);
@@ -545,10 +545,10 @@ void callBytesAsync() throws ExecutionException, InterruptedException {
545545
}
546546

547547
@Test
548-
void callWithHandler() {
548+
void callHandler() {
549549
final HttpResponse<String> hres = clientContext.request()
550550
.path("hello").path("message")
551-
.GET().call().withHandler(HttpResponse.BodyHandlers.ofString())
551+
.GET().call().handler(HttpResponse.BodyHandlers.ofString())
552552
.execute();
553553

554554
assertThat(hres.body()).contains("hello world");
@@ -559,7 +559,7 @@ void callWithHandler() {
559559
void callWithHandlerAsync() throws ExecutionException, InterruptedException {
560560
final HttpResponse<String> hres = clientContext.request()
561561
.path("hello").path("message")
562-
.GET().call().withHandler(HttpResponse.BodyHandlers.ofString())
562+
.GET().call().handler(HttpResponse.BodyHandlers.ofString())
563563
.async().get();
564564

565565
assertThat(hres.body()).contains("hello world");

client/src/test/java/org/example/github/httpclient/Simple$HttpClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public InputStream getById2(String id, InputStream is) {
5656
context.request()
5757
.path("users").path(id).path("stream")
5858
.body(() -> is)
59-
.GET().withHandler(HttpResponse.BodyHandlers.ofInputStream());
59+
.GET().handler(HttpResponse.BodyHandlers.ofInputStream());
6060

6161
context.checkResponse(response);
6262
return response.body();

0 commit comments

Comments
 (0)