Skip to content

Commit 39113e3

Browse files
authored
Merge pull request quarkusio#36351 from geoand/quarkusio#36257
Properly handle invalid response body errors in Reactive REST Client
2 parents 6be99a4 + 7de4dcc commit 39113e3

File tree

1 file changed

+19
-14
lines changed

1 file changed

+19
-14
lines changed

independent-projects/resteasy-reactive/client/runtime/src/main/java/org/jboss/resteasy/reactive/client/handlers/ClientSendRequestHandler.java

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -322,22 +322,27 @@ public void handle(AsyncResult<Void> flushed) {
322322
new VertxClientInputStream(clientResponse, 100000, requestContext));
323323
requestContext.resume();
324324
} else {
325-
clientResponse.bodyHandler(new Handler<>() {
325+
clientResponse.body(new Handler<>() {
326326
@Override
327-
public void handle(Buffer buffer) {
328-
if (loggingScope != LoggingScope.NONE) {
329-
clientLogger.logResponse(clientResponse, false);
330-
}
331-
try {
332-
if (buffer.length() > 0) {
333-
requestContext.setResponseEntityStream(
334-
new ByteArrayInputStream(buffer.getBytes()));
335-
} else {
336-
requestContext.setResponseEntityStream(null);
327+
public void handle(AsyncResult<Buffer> ar) {
328+
if (ar.succeeded()) {
329+
if (loggingScope != LoggingScope.NONE) {
330+
clientLogger.logResponse(clientResponse, false);
331+
}
332+
Buffer buffer = ar.result();
333+
try {
334+
if (buffer.length() > 0) {
335+
requestContext.setResponseEntityStream(
336+
new ByteArrayInputStream(buffer.getBytes()));
337+
} else {
338+
requestContext.setResponseEntityStream(null);
339+
}
340+
requestContext.resume();
341+
} catch (Throwable t) {
342+
requestContext.resume(t);
337343
}
338-
requestContext.resume();
339-
} catch (Throwable t) {
340-
requestContext.resume(t);
344+
} else {
345+
requestContext.resume(ar.cause());
341346
}
342347
}
343348
});

0 commit comments

Comments
 (0)