/** * Return data contained in a SockJS "message" and "close" frames. Otherwise * for SockJS "open" and "close" frames, which do not contain data, return * {@code null}. */ @Nullable public String getFrameData() { if (getType() == SockJsFrameType.OPEN || getType() == SockJsFrameType.HEARTBEAT) { return null; } else { return getContent().substring(1); } }
public void handleFrame(String payload) { SockJsFrame frame = new SockJsFrame(payload); switch (frame.getType()) { case OPEN: handleOpenFrame(); break; case HEARTBEAT: if (logger.isTraceEnabled()) { logger.trace("Received heartbeat in " + this); } break; case MESSAGE: handleMessageFrame(frame); break; case CLOSE: handleCloseFrame(frame); } }
@Test public void messageArrayFrameEmpty() { SockJsFrame frame = new SockJsFrame("a"); assertEquals("a[]", frame.getContent()); assertEquals(SockJsFrameType.MESSAGE, frame.getType()); assertEquals("[]", frame.getFrameData()); frame = new SockJsFrame("a[]"); assertEquals("a[]", frame.getContent()); assertEquals(SockJsFrameType.MESSAGE, frame.getType()); assertEquals("[]", frame.getFrameData()); }
@Test public void closeFrameEmpty() { SockJsFrame frame = new SockJsFrame("c"); assertEquals("c[]", frame.getContent()); assertEquals(SockJsFrameType.CLOSE, frame.getType()); assertEquals("[]", frame.getFrameData()); frame = new SockJsFrame("c[]"); assertEquals("c[]", frame.getContent()); assertEquals(SockJsFrameType.CLOSE, frame.getType()); assertEquals("[]", frame.getFrameData()); }
@Test public void closeFrame() { SockJsFrame frame = SockJsFrame.closeFrame(3000, "Go Away!"); assertEquals("c[3000,\"Go Away!\"]", frame.getContent()); assertEquals(SockJsFrameType.CLOSE, frame.getType()); assertEquals("[3000,\"Go Away!\"]", frame.getFrameData()); }
@Test public void openFrame() { SockJsFrame frame = SockJsFrame.openFrame(); assertEquals("o", frame.getContent()); assertEquals(SockJsFrameType.OPEN, frame.getType()); assertNull(frame.getFrameData()); }
@Test public void heartbeatFrame() { SockJsFrame frame = SockJsFrame.heartbeatFrame(); assertEquals("h", frame.getContent()); assertEquals(SockJsFrameType.HEARTBEAT, frame.getType()); assertNull(frame.getFrameData()); }
@Test public void messageArrayFrame() { SockJsFrame frame = SockJsFrame.messageFrame(new Jackson2SockJsMessageCodec(), "m1", "m2"); assertEquals("a[\"m1\",\"m2\"]", frame.getContent()); assertEquals(SockJsFrameType.MESSAGE, frame.getType()); assertEquals("[\"m1\",\"m2\"]", frame.getFrameData()); }
/** * Return data contained in a SockJS "message" and "close" frames. Otherwise * for SockJS "open" and "close" frames, which do not contain data, return * {@code null}. */ @Nullable public String getFrameData() { if (getType() == SockJsFrameType.OPEN || getType() == SockJsFrameType.HEARTBEAT) { return null; } else { return getContent().substring(1); } }
/** * Return data contained in a SockJS "message" and "close" frames. Otherwise * for SockJS "open" and "close" frames, which do not contain data, return * {@code null}. */ @Nullable public String getFrameData() { if (getType() == SockJsFrameType.OPEN || getType() == SockJsFrameType.HEARTBEAT) { return null; } else { return getContent().substring(1); } }
public void handleFrame(String payload) { SockJsFrame frame = new SockJsFrame(payload); switch (frame.getType()) { case OPEN: handleOpenFrame(); break; case HEARTBEAT: if (logger.isTraceEnabled()) { logger.trace("Received heartbeat in " + this); } break; case MESSAGE: handleMessageFrame(frame); break; case CLOSE: handleCloseFrame(frame); } }
public void handleFrame(String payload) { SockJsFrame frame = new SockJsFrame(payload); switch (frame.getType()) { case OPEN: handleOpenFrame(); break; case HEARTBEAT: if (logger.isTraceEnabled()) { logger.trace("Received heartbeat in " + this); } break; case MESSAGE: handleMessageFrame(frame); break; case CLOSE: handleCloseFrame(frame); } }