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) {