Skip to content

Commit f44171c

Browse files
committed
update
1 parent 55d533d commit f44171c

File tree

2 files changed

+12
-15
lines changed

2 files changed

+12
-15
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
<modelVersion>4.0.0</modelVersion>
1212
<artifactId>websocket-client</artifactId>
13-
<version>1.0.14</version>
13+
<version>1.0.15</version>
1414
<name>WebsocketClient</name>
1515
<packaging>jar</packaging>
1616

src/main/java/info/unterrainer/websocketclient/WebsocketConnection.java

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
import java.net.URI;
55
import java.nio.ByteBuffer;
66
import java.time.Duration;
7-
import java.util.List;
8-
import java.util.Map;
97
import java.util.concurrent.CompletableFuture;
108
import java.util.concurrent.TimeUnit;
119
import java.util.function.Consumer;
@@ -19,7 +17,6 @@
1917
import info.unterrainer.websocketclient.exceptions.WebsocketConnectingException;
2018
import info.unterrainer.websocketclient.exceptions.WebsocketSendingMessageException;
2119
import jakarta.websocket.ClientEndpointConfig;
22-
import jakarta.websocket.ClientEndpointConfig.Builder;
2320
import jakarta.websocket.CloseReason;
2421
import jakarta.websocket.Session;
2522
import lombok.Data;
@@ -129,6 +126,7 @@ public void close() {
129126
}
130127

131128
public void establish() {
129+
String at = null;
132130
String accessToken = null;
133131
log.debug("Establish called.");
134132

@@ -141,26 +139,25 @@ public void establish() {
141139
throw new WebsocketConnectingException("Failed to create WebSocket ClientManager.", e);
142140
}
143141
endpoints = new WebsocketEndpoints(this);
144-
Builder c = ClientEndpointConfig.Builder.create();
145142

146143
if (keycloakHost != null) {
147144
OauthTokenManager tokenManager = new OauthTokenManager(keycloakHost, keycloakClient);
148145
LocalOauthTokens tokens = tokenManager.getTokensFromCredentials(keycloakClient, keycloakUser,
149146
keycloakPassword);
150147
accessToken = tokens.getAccessToken();
151-
String at = "Bearer " + accessToken;
152-
153-
c.configurator(new ClientEndpointConfig.Configurator() {
154-
@Override
155-
public void beforeRequest(Map<String, List<String>> headers) {
156-
headers.put("Authorization", List.of(at));
157-
}
158-
});
148+
at = "Bearer " + accessToken;
159149
}
160-
ClientEndpointConfig config = c.build();
161150

162151
try {
163-
container.connectToServer(endpoints, config, URI.create(host));
152+
container.connectToServer(endpoints,
153+
ClientEndpointConfig.Builder.create().configurator(new ClientEndpointConfig.Configurator() {
154+
}).build(), URI.create(host));
155+
if (at != null) {
156+
Session s = awaitOpen(Duration.ofMillis(5000L));
157+
s.getBasicRemote().sendText(at);
158+
} else {
159+
log.debug("No access token provided, connecting without authentication.");
160+
}
164161
} catch (Exception e) {
165162
log.error("Error connecting to WebSocket server: ", e);
166163
throw new WebsocketConnectingException("Failed to connect to WebSocket server at " + host, e);

0 commit comments

Comments
 (0)