diff --git a/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/protocol/FrameBuilder.java b/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/protocol/FrameBuilder.java index 2afc758b85a..df270b578e4 100644 --- a/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/protocol/FrameBuilder.java +++ b/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/protocol/FrameBuilder.java @@ -45,7 +45,8 @@ public class FrameBuilder byte utf[] = StringUtil.getUtf8Bytes(reason); buf.put(utf,0,utf.length); } - return new FrameBuilder(new WebSocketFrame(OpCode.CLOSE)).payload(buf); + BufferUtil.flipToFlush(buf,0); + return new FrameBuilder(new WebSocketFrame(OpCode.CLOSE)).payload(BufferUtil.toArray(buf)); } return new FrameBuilder(new WebSocketFrame(OpCode.CLOSE)); } diff --git a/jetty-websocket/websocket-core/src/test/java/org/eclipse/jetty/websocket/frames/FrameBuilderTest.java b/jetty-websocket/websocket-core/src/test/java/org/eclipse/jetty/websocket/protocol/FrameBuilderTest.java similarity index 82% rename from jetty-websocket/websocket-core/src/test/java/org/eclipse/jetty/websocket/frames/FrameBuilderTest.java rename to jetty-websocket/websocket-core/src/test/java/org/eclipse/jetty/websocket/protocol/FrameBuilderTest.java index aaa3b41435d..35f83d8d874 100644 --- a/jetty-websocket/websocket-core/src/test/java/org/eclipse/jetty/websocket/frames/FrameBuilderTest.java +++ b/jetty-websocket/websocket-core/src/test/java/org/eclipse/jetty/websocket/protocol/FrameBuilderTest.java @@ -1,6 +1,5 @@ -package org.eclipse.jetty.websocket.frames; +package org.eclipse.jetty.websocket.protocol; -import org.eclipse.jetty.websocket.protocol.FrameBuilder; import org.junit.Assert; import org.junit.Test; @@ -34,7 +33,7 @@ public class FrameBuilderTest byte[] actual = FrameBuilder.close(1000).asByteArray(); byte[] expected = new byte[] - { (byte)0x89, (byte)0x02, (byte)0x03, (byte)0xe8 }; + { (byte)0x88, (byte)0x02, (byte)0x03, (byte)0xe8 }; Assert.assertArrayEquals(expected,actual); } @@ -42,7 +41,7 @@ public class FrameBuilderTest @Test public void testSimpleValidPingFrame() { - byte[] actual = FrameBuilder.close(1000).asByteArray(); + byte[] actual = FrameBuilder.ping().asByteArray(); byte[] expected = new byte[] { (byte)0x89, (byte)0x00 };