ARTEMIS-1166 Test client WS transport needs to handle continuations
Ensure that the test client WS transport handles continuation frames so that partial binary payloads aren't dropped.
This commit is contained in:
parent
39fc8cf141
commit
1463a51164
|
@ -34,6 +34,7 @@ import io.netty.handler.codec.http.HttpClientCodec;
|
||||||
import io.netty.handler.codec.http.HttpObjectAggregator;
|
import io.netty.handler.codec.http.HttpObjectAggregator;
|
||||||
import io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame;
|
import io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame;
|
||||||
import io.netty.handler.codec.http.websocketx.CloseWebSocketFrame;
|
import io.netty.handler.codec.http.websocketx.CloseWebSocketFrame;
|
||||||
|
import io.netty.handler.codec.http.websocketx.ContinuationWebSocketFrame;
|
||||||
import io.netty.handler.codec.http.websocketx.PingWebSocketFrame;
|
import io.netty.handler.codec.http.websocketx.PingWebSocketFrame;
|
||||||
import io.netty.handler.codec.http.websocketx.PongWebSocketFrame;
|
import io.netty.handler.codec.http.websocketx.PongWebSocketFrame;
|
||||||
import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
|
import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
|
||||||
|
@ -154,6 +155,10 @@ public class NettyWSTransport extends NettyTcpTransport {
|
||||||
BinaryWebSocketFrame binaryFrame = (BinaryWebSocketFrame) frame;
|
BinaryWebSocketFrame binaryFrame = (BinaryWebSocketFrame) frame;
|
||||||
LOG.trace("WebSocket Client received data: {} bytes", binaryFrame.content().readableBytes());
|
LOG.trace("WebSocket Client received data: {} bytes", binaryFrame.content().readableBytes());
|
||||||
listener.onData(binaryFrame.content());
|
listener.onData(binaryFrame.content());
|
||||||
|
} else if (frame instanceof ContinuationWebSocketFrame) {
|
||||||
|
ContinuationWebSocketFrame continuationFrame = (ContinuationWebSocketFrame) frame;
|
||||||
|
LOG.trace("WebSocket Client received data continuation: {} bytes", continuationFrame.content().readableBytes());
|
||||||
|
listener.onData(continuationFrame.content());
|
||||||
} else if (frame instanceof PingWebSocketFrame) {
|
} else if (frame instanceof PingWebSocketFrame) {
|
||||||
LOG.trace("WebSocket Client received ping, response with pong");
|
LOG.trace("WebSocket Client received ping, response with pong");
|
||||||
ch.write(new PongWebSocketFrame(frame.content()));
|
ch.write(new PongWebSocketFrame(frame.content()));
|
||||||
|
|
Loading…
Reference in New Issue