diff --git a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/ByteArrayEncoder.java b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/ByteArrayEncoder.java new file mode 100644 index 00000000000..a1f934aa7be --- /dev/null +++ b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/ByteArrayEncoder.java @@ -0,0 +1,46 @@ +// +// ======================================================================== +// Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.websocket.jsr356.encoders; + +import java.nio.ByteBuffer; + +import javax.websocket.EncodeException; +import javax.websocket.Encoder; +import javax.websocket.EndpointConfig; + +public class ByteArrayEncoder implements Encoder.Binary +{ + @Override + public void destroy() + { + /* do nothing */ + } + + @Override + public ByteBuffer encode(byte[] object) throws EncodeException + { + return ByteBuffer.wrap(object); + } + + @Override + public void init(EndpointConfig config) + { + /* do nothing */ + } +} diff --git a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/ByteBufferEncoder.java b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/ByteBufferEncoder.java new file mode 100644 index 00000000000..bee78b74df8 --- /dev/null +++ b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/ByteBufferEncoder.java @@ -0,0 +1,46 @@ +// +// ======================================================================== +// Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.websocket.jsr356.encoders; + +import java.nio.ByteBuffer; + +import javax.websocket.EncodeException; +import javax.websocket.Encoder; +import javax.websocket.EndpointConfig; + +public class ByteBufferEncoder implements Encoder.Binary +{ + @Override + public void destroy() + { + /* do nothing */ + } + + @Override + public ByteBuffer encode(ByteBuffer object) throws EncodeException + { + return object; + } + + @Override + public void init(EndpointConfig config) + { + /* do nothing */ + } +} diff --git a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/PrimitiveEncoderMetadataSet.java b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/PrimitiveEncoderMetadataSet.java index cff6db05897..89dc8693aef 100644 --- a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/PrimitiveEncoderMetadataSet.java +++ b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/PrimitiveEncoderMetadataSet.java @@ -18,6 +18,8 @@ package org.eclipse.jetty.websocket.jsr356.encoders; +import java.nio.ByteBuffer; + import org.eclipse.jetty.websocket.jsr356.MessageType; import org.eclipse.jetty.websocket.jsr356.metadata.EncoderMetadataSet; @@ -53,8 +55,8 @@ public class PrimitiveEncoderMetadataSet extends EncoderMetadataSet // BINARY based msgType = MessageType.BINARY; - // FIXME register(ByteBuffer.class,ByteBufferEncoder.class,msgType,streamed); - // FIXME register(byte[].class,ByteArrayEncoder.class,msgType,streamed); + register(ByteBuffer.class,ByteBufferEncoder.class,msgType,streamed); + register(byte[].class,ByteArrayEncoder.class,msgType,streamed); } }