Skip to content

Commit 4a91a22

Browse files
committed
extract sse response handling in a handler
1 parent 3ac5b3d commit 4a91a22

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed

unirest/src/main/java/kong/unirest/core/java/JavaClient.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -170,13 +170,7 @@ public CompletableFuture<Void> sse(SseRequest request, SseListener listener) {
170170
.build();
171171

172172
return client.sendAsync(r, java.net.http.HttpResponse.BodyHandlers.ofLines())
173-
.thenAccept(response -> {
174-
response.body().forEach(line -> {
175-
if (!line.isBlank()) {
176-
listener.onComment(line);
177-
}
178-
});
179-
})
173+
.thenAccept(new SseResponseHandler(listener))
180174
.exceptionally(ex -> {
181175
System.err.println("Error: " + ex.getMessage());
182176
return null;
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package kong.unirest.core.java;
2+
3+
import kong.unirest.core.SseListener;
4+
5+
import java.net.http.HttpResponse;
6+
import java.util.function.Consumer;
7+
import java.util.stream.Stream;
8+
9+
class SseResponseHandler implements Consumer<HttpResponse<Stream<String>>> {
10+
private final SseListener listener;
11+
12+
public SseResponseHandler(SseListener listener) {
13+
this.listener = listener;
14+
}
15+
16+
@Override
17+
public void accept(HttpResponse<Stream<String>> response) {
18+
response.body().forEach(line -> {
19+
if (!line.isBlank()) {
20+
listener.onComment(line);
21+
}
22+
});
23+
}
24+
}

0 commit comments

Comments
 (0)