List of usage examples for io.netty.handler.codec.http.websocketx WebSocketServerHandshaker version
WebSocketVersion version
To view the source code for io.netty.handler.codec.http.websocketx WebSocketServerHandshaker version.
Click Source Link
From source file:io.vertx.core.http.impl.Http1xServerConnection.java
License:Open Source License
ServerWebSocketImpl createWebSocket(HttpServerRequestImpl request) { if (ws != null) { return ws; }//from www .java2s . com if (!(request.getRequest() instanceof FullHttpRequest)) { throw new IllegalStateException(); } FullHttpRequest nettyReq = (FullHttpRequest) request.getRequest(); WebSocketServerHandshaker handshaker = createHandshaker(nettyReq); if (handshaker == null) { throw new IllegalStateException("Can't upgrade this request"); } Function<ServerWebSocketImpl, String> f = ws -> { try { handshaker.handshake(chctx.channel(), nettyReq); } catch (WebSocketHandshakeException e) { handleException(e); } catch (Exception e) { log.error("Failed to generate shake response", e); } // remove compressor as its not needed anymore once connection was upgraded to websockets ChannelHandler handler = chctx.pipeline().get(HttpChunkContentCompressor.class); if (handler != null) { chctx.pipeline().remove(handler); } if (METRICS_ENABLED && metrics != null) { ws.setMetric(metrics.upgrade(request.metric(), ws)); } ws.registerHandler(vertx.eventBus()); return handshaker.selectedSubprotocol(); }; ws = new ServerWebSocketImpl(vertx, request.uri(), request.path(), request.query(), request.headers(), this, handshaker.version() != WebSocketVersion.V00, f, options.getMaxWebsocketFrameSize(), options.getMaxWebsocketMessageSize()); return ws; }