From f3ee137e9fe3aec9c443427fe79886ca01fde781 Mon Sep 17 00:00:00 2001 From: Shiranuit Date: Fri, 20 Nov 2020 17:20:59 +0100 Subject: [PATCH 1/2] fix future not being completed exceptionally when there is a token expired error --- src/main/java/io/kuzzle/sdk/Kuzzle.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/io/kuzzle/sdk/Kuzzle.java b/src/main/java/io/kuzzle/sdk/Kuzzle.java index 84f5a825..8a7a1f20 100644 --- a/src/main/java/io/kuzzle/sdk/Kuzzle.java +++ b/src/main/java/io/kuzzle/sdk/Kuzzle.java @@ -206,6 +206,13 @@ protected void onResponseReceived(final Object... payload) { return; } + final Task task = requests.get(response.requestId); + + if (task != null) { + task.setException(new ApiErrorException(response)); + } + + requests.remove(response.requestId); super.trigger(Event.tokenExpired); } From 6f25165a4de8d103dd91466737538d2841827b9f Mon Sep 17 00:00:00 2001 From: Shiranuit Date: Fri, 20 Nov 2020 17:33:33 +0100 Subject: [PATCH 2/2] simplify condition --- src/main/java/io/kuzzle/sdk/Kuzzle.java | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/main/java/io/kuzzle/sdk/Kuzzle.java b/src/main/java/io/kuzzle/sdk/Kuzzle.java index 8a7a1f20..e4fec391 100644 --- a/src/main/java/io/kuzzle/sdk/Kuzzle.java +++ b/src/main/java/io/kuzzle/sdk/Kuzzle.java @@ -197,23 +197,15 @@ protected void onResponseReceived(final Object... payload) { return; } - if (response.error.id == null - || !response.error.id.equals("security.token.expired")) { - final Task task = requests.get(response.requestId); - if (task != null) { - task.setException(new ApiErrorException(response)); - } - return; - } - final Task task = requests.get(response.requestId); - if (task != null) { task.setException(new ApiErrorException(response)); } - requests.remove(response.requestId); - super.trigger(Event.tokenExpired); + + if (response.error.id != null && response.error.id.equals("security.token.expired")) { + super.trigger(Event.tokenExpired); + } } protected void onStateChanged(final Object... args) {