public void channelRead0(ChannelHandlerContext ctx, Object msg) throws Exception {
if (msg instanceof FullHttpRequest) {
ChannelFuture upgradeFuture = handleHttpRequest(ctx, (FullHttpRequest) msg);
if (upgradeFuture != null) {
updatePipeline(ctx);
upgradeFuture.addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future) throws Exception {
if (future.isSuccess()) {
handshakeFuture.setSuccess();
eventsSubject.onEvent(WebSocketServerMetricsEvent.HANDSHAKE_PROCESSED);