package com.ard.work.websocket.interceptor;
|
|
import org.springframework.http.server.ServerHttpRequest;
|
import org.springframework.http.server.ServerHttpResponse;
|
import org.springframework.web.socket.WebSocketHandler;
|
import org.springframework.web.socket.server.HandshakeInterceptor;
|
|
import java.util.Map;
|
|
public class PTZHandshakeInterceptor implements HandshakeInterceptor {
|
|
@Override
|
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response,
|
WebSocketHandler wsHandler, Map<String, Object> attributes){
|
//从路径中获取userId
|
String path = request.getURI().getPath();
|
String[] segments = path.split("/");
|
if (segments.length > 2) {
|
String userId = segments[segments.length - 1];
|
attributes.put("userId", userId);
|
}
|
//从header中获取userId
|
// String userId = request.getHeaders().getFirst("userId");
|
// if (userId != null)
|
// {
|
// attributes.put("userId", userId);
|
// }
|
return true;
|
}
|
|
@Override
|
public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response,
|
WebSocketHandler wsHandler, Exception ex) {
|
}
|
}
|