diff --git a/src/main/java/io/cloudonix/vertx/javaio/OutputToReadStream.java b/src/main/java/io/cloudonix/vertx/javaio/OutputToReadStream.java index af95383..da96779 100644 --- a/src/main/java/io/cloudonix/vertx/javaio/OutputToReadStream.java +++ b/src/main/java/io/cloudonix/vertx/javaio/OutputToReadStream.java @@ -71,7 +71,13 @@ public OutputToReadStream(Vertx vertx) { */ public Future pipeFromInput(InputStream source, WriteStream sink) { Promise promise = Promise.promise(); - pipeTo(sink).andThen(promise); + pipeTo(sink).onComplete(ar -> { + if (ar.succeeded()) { + promise.complete(ar.result()); + } else { + promise.fail(ar.cause()); + } + }); ForkJoinPool.commonPool().submit(() -> { try (final InputStream is = source; final OutputStream os = this){ source.transferTo(this);