Class WebSocketVerifyHandler

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
com.iohao.net.external.core.netty.handler.WebSocketVerifyHandler
All Implemented Interfaces:
ExternalSettingAware, io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler

@Sharable public class WebSocketVerifyHandler extends io.netty.channel.ChannelInboundHandlerAdapter implements ExternalSettingAware
Optional WebSocket handshake verification handler executed before protocol upgrade completion.
Author:
渔民小镇
date:
2023-08-03
  • Nested Class Summary

    Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler

    io.netty.channel.ChannelHandler.Sharable
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    channelRead(io.netty.channel.ChannelHandlerContext ctx, Object msg)
     
    protected Map<String,String>
    Parse query parameters from the WebSocket request URI.
    void
    Inject the external setting after it has been assembled.
    protected boolean
    verify(SocketUserSession userSession, Map<String,String> params)
    Verify the WebSocket handshake request.

    Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter

    channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered

    Methods inherited from class io.netty.channel.ChannelHandlerAdapter

    ensureNotSharable, handlerAdded, handlerRemoved, isSharable

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.netty.channel.ChannelHandler

    handlerAdded, handlerRemoved
  • Field Details

  • Constructor Details

    • WebSocketVerifyHandler

      public WebSocketVerifyHandler()
  • Method Details

    • setExternalSetting

      public void setExternalSetting(ExternalSetting setting)
      Description copied from interface: ExternalSettingAware
      Inject the external setting after it has been assembled.
      Specified by:
      setExternalSetting in interface ExternalSettingAware
      Parameters:
      setting - external setting for the current server
    • channelRead

      public void channelRead(io.netty.channel.ChannelHandlerContext ctx, Object msg) throws Exception
      Specified by:
      channelRead in interface io.netty.channel.ChannelInboundHandler
      Overrides:
      channelRead in class io.netty.channel.ChannelInboundHandlerAdapter
      Throws:
      Exception
    • verify

      protected boolean verify(SocketUserSession userSession, Map<String,String> params)
      Verify the WebSocket handshake request.
      Parameters:
      userSession - user session associated with the Netty channel
      params - handshake query parameters
      Returns:
      false to reject the handshake and close the connection
    • getParams

      protected Map<String,String> getParams(String uri)
      Parse query parameters from the WebSocket request URI.
      Parameters:
      uri - request URI
      Returns:
      parameter map