File tree Expand file tree Collapse file tree 3 files changed +7
-23
lines changed
main/java/info/unterrainer/websocketserver
test/java/info/unterrainer/websocketserver Expand file tree Collapse file tree 3 files changed +7
-23
lines changed Original file line number Diff line number Diff line change 10
10
11
11
<modelVersion >4.0.0</modelVersion >
12
12
<artifactId >websocket-server</artifactId >
13
- <version >1.0.6 </version >
13
+ <version >1.0.7 </version >
14
14
<name >WebsocketServer</name >
15
15
<packaging >jar</packaging >
16
16
Original file line number Diff line number Diff line change 18
18
@ Slf4j
19
19
public class WsOauthHandlerBase extends WsHandlerBase {
20
20
21
- private OauthTokenManager tokenHandler ;
22
- private Set <WsConnectContext > clientsConnected = ConcurrentHashMap .newKeySet ();
23
- private Set <WsConnectContext > clientsQuarantined = ConcurrentHashMap .newKeySet ();
21
+ protected OauthTokenManager tokenHandler ;
22
+ protected Set <WsConnectContext > clientsConnected = ConcurrentHashMap .newKeySet ();
23
+ protected Set <WsConnectContext > clientsQuarantined = ConcurrentHashMap .newKeySet ();
24
24
25
25
void setTokenHandler (OauthTokenManager tokenHandler ) {
26
26
this .tokenHandler = tokenHandler ;
@@ -89,6 +89,8 @@ public void onMessage(WsMessageContext ctx) throws Exception {
89
89
try {
90
90
tokenHandler .checkAccess (ctx .message ());
91
91
WsConnectContext client = getQuarantinedClient (ctx .session );
92
+ log .debug ("Client [{}] passed token validation. Moving from quarantine to connected." ,
93
+ ctx .session .getRemoteAddress ());
92
94
clientsQuarantined .removeIf (c -> c .session .equals (ctx .session ));
93
95
clientsConnected .add (client );
94
96
} catch (Exception e ) {
Original file line number Diff line number Diff line change 1
1
package info .unterrainer .websocketserver ;
2
2
3
- import java .util .Set ;
4
- import java .util .concurrent .ConcurrentHashMap ;
5
-
6
- import io .javalin .websocket .WsCloseContext ;
7
3
import io .javalin .websocket .WsConnectContext ;
8
4
import io .javalin .websocket .WsMessageContext ;
9
5
import lombok .extern .slf4j .Slf4j ;
10
6
11
7
@ Slf4j
12
8
public class AiComm extends WsOauthHandlerBase {
13
9
14
- private Set <WsConnectContext > connectedWsClients = ConcurrentHashMap .newKeySet ();
15
-
16
- @ Override
17
- public void onConnect (WsConnectContext ctx ) throws Exception {
18
- super .onConnect (ctx );
19
- connectedWsClients .add (ctx );
20
- ctx .send ("Welcome to our websocket-server!" );
21
- }
22
-
23
- @ Override
24
- public void onClose (WsCloseContext ctx ) {
25
- connectedWsClients .removeIf (client -> client .session .equals (ctx .session ));
26
- }
27
-
28
10
@ Override
29
11
public void onMessage (WsMessageContext ctx ) throws Exception {
30
12
super .onMessage (ctx );
31
13
32
14
// Broadcast to all connected WS clients.
33
- for (WsConnectContext client : connectedWsClients ) {
15
+ for (WsConnectContext client : clientsConnected ) {
34
16
if (client .session .isOpen ()) {
35
17
client .send ("Echo from server: [" + ctx .message () + "]" );
36
18
}
You can’t perform that action at this time.
0 commit comments