将废弃的ServerHandshakeStateEvent.HANDSHAKE_COMPLETE升级为HandshakeComplete

This commit is contained in:
limeng
2023-07-06 16:28:09 +08:00
parent a663583490
commit cc3a764aaf
2 changed files with 5 additions and 3 deletions

View File

@@ -19,11 +19,12 @@ public class HttpHeadersHandler extends ChannelInboundHandlerAdapter {
// 获取token参数 // 获取token参数
String token = urlBuilder.getQuery().get("token").toString(); String token = urlBuilder.getQuery().get("token").toString();
NettyUtil.setAttr(ctx.channel(), NettyUtil.TOKEN, token); //NettyUtil.setAttr(ctx.channel(), NettyUtil.TOKEN, token);
// 获取请求路径 // 获取请求路径
request.setUri(urlBuilder.getPath().toString()); request.setUri(urlBuilder.getPath().toString());
HttpHeaders headers = request.headers(); HttpHeaders headers = request.headers();
headers.set("token", token);
String ip = headers.get("X-Real-IP"); String ip = headers.get("X-Real-IP");
if (StringUtils.isEmpty(ip)) {//如果没经过nginx就直接获取远端地址 if (StringUtils.isEmpty(ip)) {//如果没经过nginx就直接获取远端地址
InetSocketAddress address = (InetSocketAddress) ctx.channel().remoteAddress(); InetSocketAddress address = (InetSocketAddress) ctx.channel().remoteAddress();

View File

@@ -67,9 +67,10 @@ public class NettyWebSocketServerHandler extends SimpleChannelInboundHandler<Tex
// 关闭用户的连接 // 关闭用户的连接
userOffLine(ctx); userOffLine(ctx);
} }
} else if (evt == WebSocketServerProtocolHandler.ServerHandshakeStateEvent.HANDSHAKE_COMPLETE) { } else if (evt instanceof WebSocketServerProtocolHandler.HandshakeComplete) {
this.webSocketService.connect(ctx.channel()); this.webSocketService.connect(ctx.channel());
String token = NettyUtil.getAttr(ctx.channel(), NettyUtil.TOKEN); WebSocketServerProtocolHandler.HandshakeComplete handshakeComplete = (WebSocketServerProtocolHandler.HandshakeComplete)evt;
String token = handshakeComplete.requestHeaders().get("token");
if (StrUtil.isNotBlank(token)) { if (StrUtil.isNotBlank(token)) {
this.webSocketService.authorize(ctx.channel(), new WSAuthorize(token)); this.webSocketService.authorize(ctx.channel(), new WSAuthorize(token));
} }