Browse Source

Merge branch 'master' of github.com:mrniko/netty-socketio

master
Nikita 11 years ago
parent
commit
d2d058c1dc
  1. 6
      README.md
  2. 23
      src/main/java/com/corundumstudio/socketio/protocol/PacketEncoder.java

6
README.md

@ -49,6 +49,12 @@ Recent Releases
================================
####Please Note: trunk is current development branch.
####22-Aug-2014 - version 1.7.2 released (SocketIO 1.0+ protocol)
Fixed - wrong outgoing message encoding using websocket transport
Fixed - NPE in websocket transport
Fixed - multiple packet decoding in polling transport
Fixed - buffer leak
####07-Jul-2014 - version 1.7.1 released (SocketIO 1.0+ protocol)
Feature - ability to set custom `Access-Control-Allow-Origin` via Configuration.origin
Fixed - connection via CLI socket.io-client

23
src/main/java/com/corundumstudio/socketio/protocol/PacketEncoder.java

@ -264,15 +264,20 @@ public class PacketEncoder {
if (binary) {
// handling websocket encoding bug
ByteBuf b = allocateBuffer(allocator);
ByteBufOutputStream os = new ByteBufOutputStream(b);
jsonSupport.writeValue(os, values);
CharsetEncoder enc = CharsetUtil.ISO_8859_1.newEncoder();
String str = b.toString(CharsetUtil.ISO_8859_1);
if (enc.canEncode(str)) {
buf.writeBytes(str.getBytes(CharsetUtil.UTF_8));
} else {
buf.writeBytes(b);
try {
ByteBufOutputStream os = new ByteBufOutputStream(b);
jsonSupport.writeValue(os, values);
CharsetEncoder enc = CharsetUtil.ISO_8859_1.newEncoder();
String str = b.toString(CharsetUtil.ISO_8859_1);
if (enc.canEncode(str)) {
buf.writeBytes(str.getBytes(CharsetUtil.UTF_8));
} else {
buf.writeBytes(b);
}
}
finally {
b.release();
}
} else {
jsonSupport.writeValue(out, values);

Loading…
Cancel
Save