Class NettyWebSocketClientHandler<T>
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.channel.SimpleChannelInboundHandler<Object>
io.micronaut.http.netty.websocket.AbstractNettyWebSocketHandler
io.micronaut.http.client.netty.websocket.NettyWebSocketClientHandler<T>
- Type Parameters:
T- The type emitted.
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler
Handler for WebSocket clients.
- Since:
- 1.0
- Author:
- graemerocher
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
io.netty.channel.ChannelHandler.Sharable -
Field Summary
Fields inherited from class io.micronaut.http.netty.websocket.AbstractNettyWebSocketHandler
conversionService, ID, LOG, mediaTypeCodecRegistry, messageBodyHandlerRegistry, messageHandler, originatingRequest, pongHandler, subProtocol, uriVariables, webSocketBean, webSocketBinder, webSocketSessionRepository, webSocketVersion -
Constructor Summary
ConstructorsConstructorDescriptionNettyWebSocketClientHandler(MutableHttpRequest<?> request, WebSocketBean<T> webSocketBean, io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker handshaker, RequestBinderRegistry requestBinderRegistry, MediaTypeCodecRegistry mediaTypeCodecRegistry, MessageBodyHandlerRegistry messageBodyHandlerRegistry, ConversionService conversionService) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidchannelActive(io.netty.channel.ChannelHandlerContext ctx) protected voidchannelRead0(io.netty.channel.ChannelHandlerContext ctx, Object msg) protected NettyWebSocketSessioncreateWebSocketSession(io.netty.channel.ChannelHandlerContext ctx) Subclasses should implement to create the actualNettyWebSocketSession.voidexceptionCaught(io.netty.channel.ChannelHandlerContext ctx, Throwable cause) Argument<?>final reactor.core.publisher.Mono<T>Argument<?>protected voidhandleCloseReason(io.netty.channel.ChannelHandlerContext ctx, CloseReason cr, boolean writeCloseReason) Used to close the session with a given reason.voidhandlerAdded(io.netty.channel.ChannelHandlerContext ctx) voiduserEventTriggered(io.netty.channel.ChannelHandlerContext ctx, Object evt) Methods inherited from class io.micronaut.http.netty.websocket.AbstractNettyWebSocketHandler
callOpenMethod, forwardErrorToUser, handlerRemoved, handleWebSocketFrame, instrumentPublisher, invokeExecutable, messageHandled, writeCloseFrameAndTerminateMethods inherited from class io.netty.channel.SimpleChannelInboundHandler
acceptInboundMessage, channelReadMethods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChangedMethods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, isSharable
-
Constructor Details
-
NettyWebSocketClientHandler
public NettyWebSocketClientHandler(MutableHttpRequest<?> request, WebSocketBean<T> webSocketBean, io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker handshaker, RequestBinderRegistry requestBinderRegistry, MediaTypeCodecRegistry mediaTypeCodecRegistry, MessageBodyHandlerRegistry messageBodyHandlerRegistry, ConversionService conversionService) Default constructor.- Parameters:
request- The originating request that created the WebSocket.webSocketBean- The WebSocket client bean.handshaker- The handshakerrequestBinderRegistry- The request binder registrymediaTypeCodecRegistry- The media type codec registrymessageBodyHandlerRegistry- The handler registryconversionService- The conversionService
-
-
Method Details
-
userEventTriggered
public void userEventTriggered(io.netty.channel.ChannelHandlerContext ctx, Object evt) throws Exception - Specified by:
userEventTriggeredin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
userEventTriggeredin classio.netty.channel.ChannelInboundHandlerAdapter- Throws:
Exception
-
getBodyArgument
- Specified by:
getBodyArgumentin classAbstractNettyWebSocketHandler- Returns:
- The body argument for the message handler
-
getPongArgument
- Specified by:
getPongArgumentin classAbstractNettyWebSocketHandler- Returns:
- The pong argument for the pong handler
-
getSession
- Specified by:
getSessionin classAbstractNettyWebSocketHandler- Returns:
- The session
-
handlerAdded
public void handlerAdded(io.netty.channel.ChannelHandlerContext ctx) - Specified by:
handlerAddedin interfaceio.netty.channel.ChannelHandler- Overrides:
handlerAddedin classio.netty.channel.ChannelHandlerAdapter
-
channelActive
public void channelActive(io.netty.channel.ChannelHandlerContext ctx) - Specified by:
channelActivein interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelActivein classio.netty.channel.ChannelInboundHandlerAdapter
-
channelRead0
- Overrides:
channelRead0in classAbstractNettyWebSocketHandler
-
createWebSocketSession
Description copied from class:AbstractNettyWebSocketHandlerSubclasses should implement to create the actualNettyWebSocketSession.- Specified by:
createWebSocketSessionin classAbstractNettyWebSocketHandler- Parameters:
ctx- The context- Returns:
- The session
-
exceptionCaught
- Specified by:
exceptionCaughtin interfaceio.netty.channel.ChannelHandler- Specified by:
exceptionCaughtin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
exceptionCaughtin classAbstractNettyWebSocketHandler
-
getHandshakeCompletedMono
-
handleCloseReason
protected void handleCloseReason(io.netty.channel.ChannelHandlerContext ctx, CloseReason cr, boolean writeCloseReason) Description copied from class:AbstractNettyWebSocketHandlerUsed to close the session with a given reason.- Overrides:
handleCloseReasonin classAbstractNettyWebSocketHandler- Parameters:
ctx- The contextcr- The reasonwriteCloseReason- Whether to allow writing the close reason to the remote
-