From 344be2b3206303a9555eda1d88fd4b28f36070c7 Mon Sep 17 00:00:00 2001 From: Andrea Cavalli Date: Sun, 23 Jan 2022 14:52:08 +0100 Subject: [PATCH] Bugfix --- .../reactiveapi/AtomixReactiveApiMultiClient.java | 5 ++--- .../tdlight/reactiveapi/BaseAtomixReactiveApiClient.java | 9 +++------ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/main/java/it/tdlight/reactiveapi/AtomixReactiveApiMultiClient.java b/src/main/java/it/tdlight/reactiveapi/AtomixReactiveApiMultiClient.java index ea80246..52d4d93 100644 --- a/src/main/java/it/tdlight/reactiveapi/AtomixReactiveApiMultiClient.java +++ b/src/main/java/it/tdlight/reactiveapi/AtomixReactiveApiMultiClient.java @@ -7,6 +7,7 @@ import io.atomix.cluster.messaging.MessagingException; import it.tdlight.jni.TdApi; import it.tdlight.reactiveapi.Event.ClientBoundEvent; import it.tdlight.reactiveapi.Event.Request; +import java.net.ConnectException; import java.time.Duration; import java.time.Instant; import java.util.concurrent.CompletableFuture; @@ -60,9 +61,7 @@ public class AtomixReactiveApiMultiClient implements ReactiveApiMultiClient, Aut }).onErrorMap(ex -> { if (ex instanceof MessagingException.NoRemoteHandler) { return new TdError(404, "Bot #IDU" + userId + " (live id: " + liveId + ") is not found on the cluster"); - } else if (ex instanceof CompletionException && ex.getCause() instanceof TimeoutException) { - return new TdError(408, "Request Timeout", ex); - } else if (ex instanceof TimeoutException) { + } else if (ex instanceof TimeoutException || ex instanceof ConnectException) { return new TdError(408, "Request Timeout", ex); } else { return ex; diff --git a/src/main/java/it/tdlight/reactiveapi/BaseAtomixReactiveApiClient.java b/src/main/java/it/tdlight/reactiveapi/BaseAtomixReactiveApiClient.java index db42be0..57efdb8 100644 --- a/src/main/java/it/tdlight/reactiveapi/BaseAtomixReactiveApiClient.java +++ b/src/main/java/it/tdlight/reactiveapi/BaseAtomixReactiveApiClient.java @@ -17,6 +17,7 @@ import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; +import java.net.ConnectException; import java.time.Duration; import java.time.Instant; import java.util.ArrayList; @@ -74,9 +75,7 @@ abstract class BaseAtomixReactiveApiClient implements ReactiveApiClient, AutoClo .onErrorMap(ex -> { if (ex instanceof MessagingException.NoRemoteHandler) { return new TdError(404, "Bot #IDU" + this.userId + " (liveId: " + liveId + ") is not found on the cluster"); - } else if (ex instanceof CompletionException && ex.getCause() instanceof TimeoutException) { - return new TdError(408, "Request Timeout", ex); - } else if (ex instanceof TimeoutException) { + } else if (ex instanceof TimeoutException || ex instanceof ConnectException) { return new TdError(408, "Request Timeout", ex); } else { return ex; @@ -94,9 +93,7 @@ abstract class BaseAtomixReactiveApiClient implements ReactiveApiClient, AutoClo .onErrorMap(ex -> { if (ex instanceof MessagingException.NoRemoteHandler) { return new TdError(404, "Bot #IDU" + this.userId + " is not found on the cluster"); - } else if (ex instanceof CompletionException && ex.getCause() instanceof TimeoutException) { - return new TdError(408, "Request Timeout", ex); - } else if (ex instanceof TimeoutException) { + } else if (ex instanceof TimeoutException || ex instanceof ConnectException) { return new TdError(408, "Request Timeout", ex); } else { return ex;