Browse Source

fixing flash policy handler, was not working after page reload

master
Ivan Greguric Ortolan 12 years ago
parent
commit
7b20ab11a0
  1. 9
      src/main/java/com/corundumstudio/socketio/transport/FlashPolicyHandler.java

9
src/main/java/com/corundumstudio/socketio/transport/FlashPolicyHandler.java

@ -27,16 +27,15 @@ import io.netty.util.CharsetUtil;
@Sharable
public class FlashPolicyHandler extends ChannelInboundHandlerAdapter {
private final ByteBuf requestBuffer = Unpooled.unreleasableBuffer(Unpooled.copiedBuffer(
"<policy-file-request/>", CharsetUtil.UTF_8));
private final ByteBuf requestBuffer = Unpooled.copiedBuffer( "<policy-file-request/>", CharsetUtil.UTF_8);
private final ByteBuf responseBuffer = Unpooled.unreleasableBuffer(Unpooled.copiedBuffer(
private final ByteBuf responseBuffer = Unpooled.copiedBuffer(
"<?xml version=\"1.0\"?>"
+ "<!DOCTYPE cross-domain-policy SYSTEM \"/xml/dtds/cross-domain-policy.dtd\">"
+ "<cross-domain-policy> "
+ " <site-control permitted-cross-domain-policies=\"master-only\"/>"
+ " <allow-access-from domain=\"*\" to-ports=\"*\" />"
+ "</cross-domain-policy>", CharsetUtil.UTF_8));
+ "</cross-domain-policy>", CharsetUtil.UTF_8);
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
@ -45,7 +44,7 @@ public class FlashPolicyHandler extends ChannelInboundHandlerAdapter {
ByteBuf data = message.slice(0, requestBuffer.readableBytes());
if (data.equals(requestBuffer)) {
message.release();
ChannelFuture f = ctx.writeAndFlush(responseBuffer);
ChannelFuture f = ctx.writeAndFlush(Unpooled.copiedBuffer(responseBuffer));
f.addListener(ChannelFutureListener.CLOSE);
return;
}

Loading…
Cancel
Save