From a3ba4669bcd05973525a771aa3953888a30a0c67 Mon Sep 17 00:00:00 2001 From: Georgios Andrianakis Date: Mon, 18 Sep 2023 14:55:43 +0300 Subject: [PATCH] Don't ignore empty SSE events in client RESTEasy Classic does not ignore them, so let's keep the same behavior Closes: #35966 --- .../deployment/test/sse/SseParserTest.java | 23 +++++-------------- .../reactive/client/impl/SseParser.java | 3 --- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/extensions/resteasy-reactive/quarkus-resteasy-reactive-jsonb/deployment/src/test/java/io/quarkus/resteasy/reactive/jsonb/deployment/test/sse/SseParserTest.java b/extensions/resteasy-reactive/quarkus-resteasy-reactive-jsonb/deployment/src/test/java/io/quarkus/resteasy/reactive/jsonb/deployment/test/sse/SseParserTest.java index 6b55e2a725a56..7f8bd584a0244 100644 --- a/extensions/resteasy-reactive/quarkus-resteasy-reactive-jsonb/deployment/src/test/java/io/quarkus/resteasy/reactive/jsonb/deployment/test/sse/SseParserTest.java +++ b/extensions/resteasy-reactive/quarkus-resteasy-reactive-jsonb/deployment/src/test/java/io/quarkus/resteasy/reactive/jsonb/deployment/test/sse/SseParserTest.java @@ -140,23 +140,12 @@ public void testParser() { } private void testParser(String event, String data, String comment, String lastId, String name, long reconnectDelay) { - if (data != null) { - testParser(Collections.singletonList(event), Collections.singletonList(new InboundSseEventImpl(null, null) - .setData(data) - .setComment(comment) - .setId(lastId) - .setName(name) - .setReconnectDelay(reconnectDelay))); - } else if (comment != null) { - testParser(Collections.singletonList(event), Collections.singletonList(new InboundSseEventImpl(null, null) - .setData(null) - .setComment(comment) - .setId(lastId) - .setName(name) - .setReconnectDelay(reconnectDelay))); - } else { - testParser(Collections.singletonList(event), Collections.emptyList()); - } + testParser(Collections.singletonList(event), Collections.singletonList(new InboundSseEventImpl(null, null) + .setData(data) + .setComment(comment) + .setId(lastId) + .setName(name) + .setReconnectDelay(reconnectDelay))); } private void testParser(List events, List expectedEvents) { diff --git a/independent-projects/resteasy-reactive/client/runtime/src/main/java/org/jboss/resteasy/reactive/client/impl/SseParser.java b/independent-projects/resteasy-reactive/client/runtime/src/main/java/org/jboss/resteasy/reactive/client/impl/SseParser.java index 039d339d7b962..7728e87ff7098 100644 --- a/independent-projects/resteasy-reactive/client/runtime/src/main/java/org/jboss/resteasy/reactive/client/impl/SseParser.java +++ b/independent-projects/resteasy-reactive/client/runtime/src/main/java/org/jboss/resteasy/reactive/client/impl/SseParser.java @@ -144,9 +144,6 @@ private void parseEvent() { } private void dispatchEvent() { - // ignore empty events - if (dataBuffer.length() == 0 && commentBuffer.length() == 0) - return; WebTargetImpl webTarget = sseEventSource.getWebTarget(); InboundSseEventImpl event; // tests don't set a web target, and we don't want them to end up starting vertx just to test parsing