diff --git a/src/main/java/it/tdlight/tdlibsession/td/ResponseError.java b/src/main/java/it/tdlight/tdlibsession/td/ResponseError.java index b9792ed..2c27152 100644 --- a/src/main/java/it/tdlight/tdlibsession/td/ResponseError.java +++ b/src/main/java/it/tdlight/tdlibsession/td/ResponseError.java @@ -123,4 +123,9 @@ public class ResponseError extends IOException { .replace(" ", "") .replace(" = ", "="); } + + @Override + public String toString() { + return getMessage(); + } } diff --git a/src/main/java/it/tdlight/tdlibsession/td/middle/client/AsyncTdMiddleEventBusClient.java b/src/main/java/it/tdlight/tdlibsession/td/middle/client/AsyncTdMiddleEventBusClient.java index 38d714b..5f11a2f 100644 --- a/src/main/java/it/tdlight/tdlibsession/td/middle/client/AsyncTdMiddleEventBusClient.java +++ b/src/main/java/it/tdlight/tdlibsession/td/middle/client/AsyncTdMiddleEventBusClient.java @@ -305,20 +305,19 @@ public class AsyncTdMiddleEventBusClient extends AbstractVerticle implements Asy return Mono.from(tdClosed).single() .filter(tdClosed -> !tdClosed) - .flatMap(_x -> Mono.>create(sink -> { + .>handle((_x, sink) -> { cluster.getEventBus().request(botAddress + ".execute", req, cluster.newDeliveryOpts().setLocalOnly(local), (AsyncResult> event) -> { if (event.succeeded()) { if (event.result().body() == null) { - sink.success(); + sink.complete(); } else { - sink.success(Objects.requireNonNull(event.result().body()).toTdResult()); + sink.next(Objects.requireNonNull(event.result().body()).toTdResult()); } } else { sink.error(ResponseError.newResponseError(request, botAlias, event.cause())); } }); - - })).flatMap(response -> { + }).handle((response, sink) -> { try { Objects.requireNonNull(response); if (OUTPUT_REQUESTS) { @@ -328,9 +327,9 @@ public class AsyncTdMiddleEventBusClient extends AbstractVerticle implements Asy .replace(" ", "") .replace(" = ", "=")); } - return Mono.just((TdResult) response); + sink.next(response); } catch (ClassCastException | NullPointerException e) { - return Mono.error(e); + sink.error(e); } }); }