@Override public S writePing(Buffer data) { if(data.length() > maxWebSocketFrameSize || data.length() > 125) throw new IllegalStateException("Ping cannot exceed maxWebSocketFrameSize or 125 bytes"); return writeFrame(WebSocketFrame.pingFrame(data)); }
@Test public void testServerWebsocketSendPingExceeds125Bytes() { //Netty will prevent us from encoding a pingBody greater than 126 bytes by silently throwing an error in the background String pingBody = randomAlphaString(126); Integer maxFrameSize = 256; server = vertx.createHttpServer(new HttpServerOptions().setIdleTimeout(1).setPort(DEFAULT_HTTP_PORT).setHost(HttpTestBase.DEFAULT_HTTP_HOST).setMaxWebsocketFrameSize(maxFrameSize)); server.websocketHandler(ws -> { ws.pongHandler(buff -> fail()); ws.writeFrame(WebSocketFrame.pingFrame(Buffer.buffer(pingBody))); vertx.setTimer(2000, id -> testComplete()); }).listen(onSuccess(v -> { client.websocket(DEFAULT_HTTP_PORT, HttpTestBase.DEFAULT_HTTP_HOST, "/", ws -> {}); })); await(); }
@Test public void testClientWebsocketSendPingExceeds125Bytes() { //Netty will prevent us from encoding a pingBody greater than 126 bytes by silently throwing an error in the background String pingBody = randomAlphaString(126); Integer maxFrameSize = 256; server = vertx.createHttpServer(new HttpServerOptions().setIdleTimeout(1).setPort(DEFAULT_HTTP_PORT).setHost(HttpTestBase.DEFAULT_HTTP_HOST).setMaxWebsocketFrameSize(maxFrameSize)); server.websocketHandler(ws -> { }).listen(onSuccess(v -> { client.websocket(DEFAULT_HTTP_PORT, HttpTestBase.DEFAULT_HTTP_HOST, "/", ws -> { ws.pongHandler(buffer -> fail()); ws.writeFrame(WebSocketFrame.pingFrame(Buffer.buffer(pingBody))); vertx.setTimer(2000, id -> testComplete()); }); })); await(); }
@Override public S writePing(Buffer data) { if(data.length() > maxWebSocketFrameSize || data.length() > 125) throw new IllegalStateException("Ping cannot exceed maxWebSocketFrameSize or 125 bytes"); return writeFrame(WebSocketFrame.pingFrame(data)); }
@Test public void testServerWebsocketSendPingExceeds125Bytes() { //Netty will prevent us from encoding a pingBody greater than 126 bytes by silently throwing an error in the background String pingBody = randomAlphaString(126); Integer maxFrameSize = 256; server = vertx.createHttpServer(new HttpServerOptions().setIdleTimeout(1).setPort(DEFAULT_HTTP_PORT).setHost(HttpTestBase.DEFAULT_HTTP_HOST).setMaxWebsocketFrameSize(maxFrameSize)); server.websocketHandler(ws -> { ws.pongHandler(buff -> fail()); ws.writeFrame(WebSocketFrame.pingFrame(Buffer.buffer(pingBody))); vertx.setTimer(2000, id -> testComplete()); }).listen(onSuccess(v -> { client.websocket(DEFAULT_HTTP_PORT, HttpTestBase.DEFAULT_HTTP_HOST, "/", ws -> {}); })); await(); }
@Test public void testClientWebsocketSendPingExceeds125Bytes() { //Netty will prevent us from encoding a pingBody greater than 126 bytes by silently throwing an error in the background String pingBody = randomAlphaString(126); Integer maxFrameSize = 256; server = vertx.createHttpServer(new HttpServerOptions().setIdleTimeout(1).setPort(DEFAULT_HTTP_PORT).setHost(HttpTestBase.DEFAULT_HTTP_HOST).setMaxWebsocketFrameSize(maxFrameSize)); server.websocketHandler(ws -> { }).listen(onSuccess(v -> { client.websocket(DEFAULT_HTTP_PORT, HttpTestBase.DEFAULT_HTTP_HOST, "/", ws -> { ws.pongHandler(buffer -> fail()); ws.writeFrame(WebSocketFrame.pingFrame(Buffer.buffer(pingBody))); vertx.setTimer(2000, id -> testComplete()); }); })); await(); }
/** * Create a ping WebSocket frame. Will be a final frame. There is no option for non final ping frames. * @param data the bytes for the frame, may be at most 125 bytes * @return the frame */ public static io.vertx.rxjava.core.http.WebSocketFrame pingFrame(io.vertx.rxjava.core.buffer.Buffer data) { io.vertx.rxjava.core.http.WebSocketFrame ret = io.vertx.rxjava.core.http.WebSocketFrame.newInstance(io.vertx.core.http.WebSocketFrame.pingFrame(data.getDelegate())); return ret; }
/** * Create a ping WebSocket frame. Will be a final frame. There is no option for non final ping frames. * @param data the bytes for the frame, may be at most 125 bytes * @return the frame */ public static io.vertx.rxjava.core.http.WebSocketFrame pingFrame(io.vertx.rxjava.core.buffer.Buffer data) { io.vertx.rxjava.core.http.WebSocketFrame ret = io.vertx.rxjava.core.http.WebSocketFrame.newInstance(io.vertx.core.http.WebSocketFrame.pingFrame(data.getDelegate())); return ret; }