From e5b482c7adf1c0e35ab4e09bc600bd22290f9aa0 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Tue, 3 Sep 2024 10:04:31 -0400 Subject: [PATCH] Fix error handling in NetworkResult.fromWebSocketRequest() --- .../org/whispersystems/signalservice/api/NetworkResult.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/NetworkResult.kt b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/NetworkResult.kt index cd97d3a185..1665eea6d2 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/NetworkResult.kt +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/NetworkResult.kt @@ -58,10 +58,11 @@ sealed class NetworkResult( request: WebSocketRequestMessage, clazz: KClass ): NetworkResult = try { - val result = signalWebSocket.request(request) - .map { response: WebsocketResponse -> JsonUtil.fromJson(response.body, clazz.java) } + val result: Result = signalWebSocket.request(request) + .map { response: WebsocketResponse -> Result.success(JsonUtil.fromJson(response.body, clazz.java)) } + .onErrorReturn { Result.failure(it) } .blockingGet() - Success(result) + Success(result.getOrThrow()) } catch (e: NonSuccessfulResponseCodeException) { StatusCodeError(e) } catch (e: IOException) {