From cb23a0859a12a4fc729ed77873af865a815f122f Mon Sep 17 00:00:00 2001 From: Julien Giovaresco Date: Tue, 26 Mar 2024 09:35:45 +0100 Subject: [PATCH] feat: improve handshake error handling When HelloReply's status is ERROR, throw an exception containing error detail that can be handled by the caller. --- .../connector/websocket/channel/WebSocketConnectorChannel.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gravitee-exchange-connector/gravitee-exchange-connector-websocket/src/main/java/io/gravitee/exchange/connector/websocket/channel/WebSocketConnectorChannel.java b/gravitee-exchange-connector/gravitee-exchange-connector-websocket/src/main/java/io/gravitee/exchange/connector/websocket/channel/WebSocketConnectorChannel.java index cd9e110..4340e4c 100644 --- a/gravitee-exchange-connector/gravitee-exchange-connector-websocket/src/main/java/io/gravitee/exchange/connector/websocket/channel/WebSocketConnectorChannel.java +++ b/gravitee-exchange-connector/gravitee-exchange-connector-websocket/src/main/java/io/gravitee/exchange/connector/websocket/channel/WebSocketConnectorChannel.java @@ -16,7 +16,6 @@ package io.gravitee.exchange.connector.websocket.channel; import io.gravitee.exchange.api.channel.exception.ChannelException; -import io.gravitee.exchange.api.channel.exception.ChannelInitializationException; import io.gravitee.exchange.api.command.Command; import io.gravitee.exchange.api.command.CommandAdapter; import io.gravitee.exchange.api.command.CommandHandler; @@ -75,7 +74,7 @@ public Completable initialize() { this.targetId = reply.getPayload().getTargetId(); this.active = true; } else { - throw new ChannelInitializationException("Unable to parse hello reply payload"); + throw new WebSocketConnectorException(String.format("Hello handshake failed: %s", reply.getErrorDetails()), false); } }); })