From 28a7fb833160e7aa772ad2681c710920b6dc59fb Mon Sep 17 00:00:00 2001 From: Sergey Bushik Date: Sun, 23 Jul 2017 17:18:04 +0300 Subject: [PATCH] Skip body parsing if attachments aren't loaded --- .../socketio/protocol/PacketDecoder.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java b/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java index c2e101b..c3e838c 100644 --- a/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java +++ b/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java @@ -292,6 +292,10 @@ public class PacketDecoder { head.setLastBinaryPacket(packet); } + if (packet.hasAttachments() && !packet.isAttachmentsLoaded()) { + return; + } + if (packet.getSubType() == PacketType.ACK || packet.getSubType() == PacketType.BINARY_ACK) { ByteBufInputStream in = new ByteBufInputStream(frame); @@ -302,12 +306,10 @@ public class PacketDecoder { if (packet.getSubType() == PacketType.EVENT || packet.getSubType() == PacketType.BINARY_EVENT) { - if (!packet.hasAttachments() || packet.isAttachmentsLoaded()) { - ByteBufInputStream in = new ByteBufInputStream(frame); - Event event = jsonSupport.readValue(packet.getNsp(), in, Event.class); - packet.setName(event.getName()); - packet.setData(event.getArgs()); - } + ByteBufInputStream in = new ByteBufInputStream(frame); + Event event = jsonSupport.readValue(packet.getNsp(), in, Event.class); + packet.setName(event.getName()); + packet.setData(event.getArgs()); } } }