Spaces:
Sleeping
Sleeping
File size: 7,200 Bytes
6d134df 603b9e3 6d134df 8cf3e85 603b9e3 8cf3e85 6d134df 307c022 603b9e3 6d134df 603b9e3 8cf3e85 4632edf 8cf3e85 6d134df 603b9e3 8cf3e85 603b9e3 6d134df fb1ed7f 6d134df |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
package ai.giskard.learnspringwebsockets;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.web.socket.*;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
import org.springframework.web.socket.server.RequestUpgradeStrategy;
import org.springframework.web.socket.server.support.AbstractHandshakeHandler;
import java.io.IOException;
import java.security.Principal;
import java.util.List;
import java.util.Map;
// @Configuration
// @EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(myHandler(), "/ws").setHandshakeHandler(new AbstractHandshakeHandler() {
@Override
public RequestUpgradeStrategy getRequestUpgradeStrategy() {
System.out.println("public RequestUpgradeStrategy getRequestUpgradeStrategy() {");
return super.getRequestUpgradeStrategy();
}
@Override
public void setSupportedProtocols(String... protocols) {
System.out.println("public void setSupportedProtocols(String... protocols) {");
super.setSupportedProtocols(protocols);
}
@Override
public String[] getSupportedProtocols() {
System.out.println("public String[] getSupportedProtocols() {");
return super.getSupportedProtocols();
}
@Override
public void start() {
System.out.println("public void start() {");
super.start();
}
@Override
protected void doStart() {
System.out.println("protected void doStart() {");
super.doStart();
}
@Override
public void stop() {
System.out.println("public void stop() {");
super.stop();
}
@Override
protected void doStop() {
System.out.println("protected void doStop() {");
super.doStop();
}
@Override
public boolean isRunning() {
System.out.println("public boolean isRunning() {");
return super.isRunning();
}
@Override
protected void handleInvalidUpgradeHeader(ServerHttpRequest request, ServerHttpResponse response) throws IOException {
System.out.println("protected void handleInvalidUpgradeHeader(ServerHttpRequest request, ServerHttpResponse response) throws IOException {");
super.handleInvalidUpgradeHeader(request, response);
}
@Override
protected void handleInvalidConnectHeader(ServerHttpRequest request, ServerHttpResponse response) throws IOException {
System.out.println("protected void handleInvalidConnectHeader(ServerHttpRequest request, ServerHttpResponse response) throws IOException {");
super.handleInvalidConnectHeader(request, response);
}
@Override
protected boolean isWebSocketVersionSupported(WebSocketHttpHeaders httpHeaders) {
httpHeaders.toSingleValueMap().forEach((k, v) -> System.out.println(k + " -> " + v));
System.out.println("protected boolean isWebSocketVersionSupported(WebSocketHttpHeaders httpHeaders) {");
return super.isWebSocketVersionSupported(httpHeaders);
}
@Override
protected String[] getSupportedVersions() {
System.out.println("protected String[] getSupportedVersions() {");
return super.getSupportedVersions();
}
@Override
protected void handleWebSocketVersionNotSupported(ServerHttpRequest request, ServerHttpResponse response) {
System.out.println("protected void handleWebSocketVersionNotSupported(ServerHttpRequest request, ServerHttpResponse response) {");
super.handleWebSocketVersionNotSupported(request, response);
}
@Override
protected boolean isValidOrigin(ServerHttpRequest request) {
System.out.println("protected boolean isValidOrigin(ServerHttpRequest request) {");
return super.isValidOrigin(request);
}
@Override
protected String selectProtocol(List<String> requestedProtocols, WebSocketHandler webSocketHandler) {
System.out.println("protected String selectProtocol(List<String> requestedProtocols, WebSocketHandler webSocketHandler) {");
return super.selectProtocol(requestedProtocols, webSocketHandler);
}
@Override
protected List<WebSocketExtension> filterRequestedExtensions(ServerHttpRequest request, List<WebSocketExtension> requestedExtensions, List<WebSocketExtension> supportedExtensions) {
System.out.println("protected List<WebSocketExtension> filterRequestedExtensions(ServerHttpRequest request, List<WebSocketExtension> requestedExtensions, List<WebSocketExtension> supportedExtensions) {");
return super.filterRequestedExtensions(request, requestedExtensions, supportedExtensions);
}
@Override
protected Principal determineUser(ServerHttpRequest request, WebSocketHandler wsHandler, Map<String, Object> attributes) {
System.out.println("protected Principal determineUser(ServerHttpRequest request, WebSocketHandler wsHandler, Map<String, Object> attributes) {");
return super.determineUser(request, wsHandler, attributes);
}
});
}
public WebSocketHandler myHandler() {
return new WebSocketHandler() {
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
System.out.println("afterConnectionEstablished");
}
@Override
public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception {
System.out.println("handleMessage");
}
@Override
public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
System.out.println("handleTransportError");
}
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception {
System.out.println("afterConnectionClosed");
}
@Override
public boolean supportsPartialMessages() {
return false;
}
};
}
} |