public void handle(final SockJSSocket sock) { checkCallHook(() -> new BridgeEventImpl(BridgeEventType.SOCKET_CREATED, null, sock), () -> { Map<String, MessageConsumer> registrations = new HashMap<>(); sock.endHandler(v -> handleSocketClosed(sock, registrations)); sock.handler(data -> handleSocketData(sock, data, registrations)); // Start a checker to check for pings PingInfo pingInfo = new PingInfo(); pingInfo.timerID = vertx.setPeriodic(pingTimeout, id -> { if (System.currentTimeMillis() - pingInfo.lastPing >= pingTimeout) { // Trigger an event to allow custom behavior before disconnecting client. checkCallHook(() -> new BridgeEventImpl(BridgeEventType.SOCKET_IDLE, null, sock), // We didn't receive a ping in time so close the socket ((SockJSSocketBase) sock)::closeAfterSessionExpired, () -> replyError(sock, "rejected")); } }); SockInfo sockInfo = new SockInfo(); sockInfo.pingInfo = pingInfo; sockInfos.put(sock, sockInfo); }, sock::close); }
public void handle(SockJSSocket sock) { connections.add(sock.writeHandlerID()); sock.handler(buffer -> { for (String actorID : connections) { vertx.eventBus().publish(actorID, buffer); } }); sock.endHandler(v -> connections.remove(sock.writeHandlerID())); } }));
private void setupSockJsServer(String serverPath, BiConsumer<SockJSSocket, Buffer> serverBufferHandler) { String path = serverPath + "/*"; router.route(path).handler(SockJSHandler.create(vertx) .socketHandler(sock -> { sock.handler(buffer -> serverBufferHandler.accept(sock, buffer)); sock.exceptionHandler(this::fail); })); }
public io.vertx.rxjava.ext.web.handler.sockjs.SockJSSocket handler(Handler<io.vertx.rxjava.core.buffer.Buffer> handler) { delegate.handler(new Handler<io.vertx.core.buffer.Buffer>() { public void handle(io.vertx.core.buffer.Buffer event) { handler.handle(io.vertx.rxjava.core.buffer.Buffer.newInstance(event)); } }); return this; }
public io.vertx.rxjava.ext.web.handler.sockjs.SockJSSocket handler(Handler<io.vertx.rxjava.core.buffer.Buffer> handler) { delegate.handler(new Handler<io.vertx.core.buffer.Buffer>() { public void handle(io.vertx.core.buffer.Buffer event) { handler.handle(io.vertx.rxjava.core.buffer.Buffer.newInstance(event)); } }); return this; }
socketHandler = () -> { return socket -> { socket.handler(msg -> serverReceived.addAndGet(msg.length())); socket.write("hello"); new Thread(() -> {
@Test public void testCombineMultipleFramesIntoASingleMessage() throws Exception { socketHandler = () -> { return socket -> socket.handler(buf -> { assertEquals("Hello World", buf.toString()); testComplete(); }); }; startServers(); client.websocket("/test/400/8ne8e94a/websocket", ws -> { ws.writeFrame(io.vertx.core.http.WebSocketFrame.textFrame("[\"Hello", false)); ws.writeFrame(io.vertx.core.http.WebSocketFrame.continuationFrame(Buffer.buffer(" World\"]"), true)); ws.close(); }); await(); } }
new SockJSHandlerOptions().setMaxBytesStreaming(4096)).socketHandler(sock -> sock.handler(sock::write))); router.route("/close/*").handler(SockJSHandler.create(vertx, new SockJSHandlerOptions().setMaxBytesStreaming(4096)).socketHandler(sock -> { })); router.route("/disabled_websocket_echo/*").handler(SockJSHandler.create(vertx, new SockJSHandlerOptions() .setMaxBytesStreaming(4096).addDisabledTransport("WEBSOCKET")).socketHandler(sock -> sock.handler(sock::write))); router.route("/ticker/*").handler(SockJSHandler.create(vertx, new SockJSHandlerOptions().setMaxBytesStreaming(4096)).socketHandler(sock -> { })); router.route("/amplify/*").handler(SockJSHandler.create(vertx, new SockJSHandlerOptions().setMaxBytesStreaming(4096)).socketHandler(sock -> sock.handler(data -> { String str = data.toString(); int n = Integer.valueOf(str); setMaxBytesStreaming(4096).setInsertJSESSIONID(true)).socketHandler(sock -> sock.handler(sock::write)));
@Test public void testHandleMessageFromXhrTransportWithAsyncHandler() throws Exception { socketHandler = () -> { return socket -> { socket.handler(buf -> { assertEquals("Hello World", buf.toString()); testComplete(); }); }; }; startServers(); client.post("/test/400/8ne8e94a/xhr", onSuccess(resp -> { assertEquals(200, resp.statusCode()); client.post("/test/400/8ne8e94a/xhr_send", onSuccess(respSend -> assertEquals(204, respSend.statusCode()))) .putHeader("content-length", "13") .write("\"Hello World\"") .end(); })).end(); await(); } }
socketHandler = () -> { return socket -> { socket.handler(buffer -> { assertEquals(msg, buffer.toString()); socket.write(buffer);
@Override public void handle(SockJSSocket socket) { if (termHandler != null) { SockJSTtyConnection conn = new SockJSTtyConnection(charset, vertx.getOrCreateContext(), socket); socket.handler(buf -> conn.writeToDecoder(buf.toString())); socket.endHandler(v -> { Consumer<Void> closeHandler = conn.getCloseHandler(); if (closeHandler != null) { closeHandler.accept(null); } }); termHandler.handle(new TermImpl(vertx, keymap, conn)); } else { socket.close(); } } }
public void handle(final SockJSSocket sock) { checkCallHook(() -> new BridgeEventImpl(BridgeEventType.SOCKET_CREATED, null, sock), () -> { Map<String, MessageConsumer> registrations = new HashMap<>(); sock.endHandler(v -> handleSocketClosed(sock, registrations)); sock.handler(data -> handleSocketData(sock, data, registrations)); // Start a checker to check for pings PingInfo pingInfo = new PingInfo(); pingInfo.timerID = vertx.setPeriodic(pingTimeout, id -> { if (System.currentTimeMillis() - pingInfo.lastPing >= pingTimeout) { // Trigger an event to allow custom behavior before disconnecting client. checkCallHook(() -> new BridgeEventImpl(BridgeEventType.SOCKET_IDLE, null, sock), // We didn't receive a ping in time so close the socket ((SockJSSocketBase) sock)::closeAfterSessionExpired, () -> replyError(sock, "rejected")); } }); SockInfo sockInfo = new SockInfo(); sockInfo.pingInfo = pingInfo; sockInfos.put(sock, sockInfo); }, sock::close); }
public void handle(SockJSSocket sock) { connections.add(sock.writeHandlerID()); sock.handler(buffer -> { for (String actorID : connections) { vertx.eventBus().publish(actorID, buffer); } }); sock.endHandler(v -> connections.remove(sock.writeHandlerID())); } }));
private void setupSockJsServer(String serverPath, BiConsumer<SockJSSocket, Buffer> serverBufferHandler) { String path = serverPath + "/*"; router.route(path).handler(SockJSHandler.create(vertx) .socketHandler(sock -> { sock.handler(buffer -> serverBufferHandler.accept(sock, buffer)); sock.exceptionHandler(this::fail); })); }
socketHandler = () -> { return socket -> { socket.handler(msg -> serverReceived.addAndGet(msg.length())); socket.write("hello"); new Thread(() -> {
@Test public void testCombineMultipleFramesIntoASingleMessage() throws Exception { socketHandler = () -> { return socket -> socket.handler(buf -> { assertEquals("Hello World", buf.toString()); testComplete(); }); }; startServers(); client.websocket("/test/400/8ne8e94a/websocket", ws -> { ws.writeFrame(io.vertx.core.http.WebSocketFrame.textFrame("[\"Hello", false)); ws.writeFrame(io.vertx.core.http.WebSocketFrame.continuationFrame(Buffer.buffer(" World\"]"), true)); ws.close(); }); await(); } }
new SockJSHandlerOptions().setMaxBytesStreaming(4096)).socketHandler(sock -> sock.handler(sock::write))); router.route("/close/*").handler(SockJSHandler.create(vertx, new SockJSHandlerOptions().setMaxBytesStreaming(4096)).socketHandler(sock -> { })); router.route("/disabled_websocket_echo/*").handler(SockJSHandler.create(vertx, new SockJSHandlerOptions() .setMaxBytesStreaming(4096).addDisabledTransport("WEBSOCKET")).socketHandler(sock -> sock.handler(sock::write))); router.route("/ticker/*").handler(SockJSHandler.create(vertx, new SockJSHandlerOptions().setMaxBytesStreaming(4096)).socketHandler(sock -> { })); router.route("/amplify/*").handler(SockJSHandler.create(vertx, new SockJSHandlerOptions().setMaxBytesStreaming(4096)).socketHandler(sock -> sock.handler(data -> { String str = data.toString(); int n = Integer.valueOf(str); setMaxBytesStreaming(4096).setInsertJSESSIONID(true)).socketHandler(sock -> sock.handler(sock::write)));
@Test public void testHandleMessageFromXhrTransportWithAsyncHandler() throws Exception { socketHandler = () -> { return socket -> { socket.handler(buf -> { assertEquals("Hello World", buf.toString()); testComplete(); }); }; }; startServers(); client.post("/test/400/8ne8e94a/xhr", resp -> { assertEquals(200, resp.statusCode()); client.post("/test/400/8ne8e94a/xhr_send", respSend -> assertEquals(204, respSend.statusCode())) .putHeader("content-length", "13") .write("\"Hello World\"") .end(); }) .end(); await(); } }
socketHandler = () -> { return socket -> { socket.handler(buffer -> { assertEquals(msg, buffer.toString()); socket.write(buffer);