diff --git a/extensions/resteasy-classic/resteasy/runtime/src/main/java/io/quarkus/resteasy/runtime/standalone/VertxBlockingOutput.java b/extensions/resteasy-classic/resteasy/runtime/src/main/java/io/quarkus/resteasy/runtime/standalone/VertxBlockingOutput.java index 998817a1ccb69..b8801e241e02e 100644 --- a/extensions/resteasy-classic/resteasy/runtime/src/main/java/io/quarkus/resteasy/runtime/standalone/VertxBlockingOutput.java +++ b/extensions/resteasy-classic/resteasy/runtime/src/main/java/io/quarkus/resteasy/runtime/standalone/VertxBlockingOutput.java @@ -69,8 +69,15 @@ Buffer createBuffer(ByteBuf data) { public void write(ByteBuf data, boolean last) throws IOException { if (last && data == null) { request.response().end(); + //if there is a problem we still try and end, but then throw to report to the caller + if (throwable != null) { + throw new IOException(throwable); + } return; } + if (throwable != null) { + throw new IOException(throwable); + } try { //do all this in the same lock synchronized (request.connection()) {