From d33ca5e66714c29f8b67e0d71ed568ba35041a34 Mon Sep 17 00:00:00 2001 From: serega6531 Date: Sun, 5 Apr 2020 01:51:33 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=D0=BD?= =?UTF-8?q?=D0=B0=D0=B4=20=D1=80=D0=B0=D1=81=D0=BF=D0=B0=D0=BA=D0=BE=D0=B2?= =?UTF-8?q?=D0=BA=D0=BE=D0=B9=20websocket?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/ru/serega6531/packmate/model/CtfService.java | 2 +- src/main/java/ru/serega6531/packmate/model/Packet.java | 2 ++ .../java/ru/serega6531/packmate/service/StreamOptimizer.java | 3 +++ .../java/ru/serega6531/packmate/service/WebSocketsParser.java | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/ru/serega6531/packmate/model/CtfService.java b/src/main/java/ru/serega6531/packmate/model/CtfService.java index 5eb5719..58bef42 100644 --- a/src/main/java/ru/serega6531/packmate/model/CtfService.java +++ b/src/main/java/ru/serega6531/packmate/model/CtfService.java @@ -22,6 +22,6 @@ public class CtfService { private boolean mergeAdjacentPackets; - private boolean inflateWebSockets = true; //TODO + private boolean inflateWebSockets; } \ No newline at end of file diff --git a/src/main/java/ru/serega6531/packmate/model/Packet.java b/src/main/java/ru/serega6531/packmate/model/Packet.java index 603202f..b0a6f7b 100644 --- a/src/main/java/ru/serega6531/packmate/model/Packet.java +++ b/src/main/java/ru/serega6531/packmate/model/Packet.java @@ -52,6 +52,8 @@ public class Packet { private boolean ungzipped; + private boolean webSocketInflated; + private byte[] content; @Transient diff --git a/src/main/java/ru/serega6531/packmate/service/StreamOptimizer.java b/src/main/java/ru/serega6531/packmate/service/StreamOptimizer.java index a161afe..7050fc8 100644 --- a/src/main/java/ru/serega6531/packmate/service/StreamOptimizer.java +++ b/src/main/java/ru/serega6531/packmate/service/StreamOptimizer.java @@ -89,6 +89,7 @@ public class StreamOptimizer { final List cut = packets.subList(start, end); final long timestamp = cut.get(0).getTimestamp(); final boolean ungzipped = cut.stream().anyMatch(Packet::isUngzipped); + final boolean webSocketInflated = cut.stream().anyMatch(Packet::isWebSocketInflated); boolean incoming = cut.get(0).isIncoming(); //noinspection OptionalGetWithoutIsPresent final byte[] content = cut.stream() @@ -101,6 +102,7 @@ public class StreamOptimizer { .incoming(incoming) .timestamp(timestamp) .ungzipped(ungzipped) + .webSocketInflated(webSocketInflated) .content(content) .build()); } @@ -221,6 +223,7 @@ public class StreamOptimizer { .incoming(false) .timestamp(cut.get(0).getTimestamp()) .ungzipped(true) + .webSocketInflated(false) .content(newContent) .build(); } catch (ZipException e) { diff --git a/src/main/java/ru/serega6531/packmate/service/WebSocketsParser.java b/src/main/java/ru/serega6531/packmate/service/WebSocketsParser.java index 45ab970..0486001 100644 --- a/src/main/java/ru/serega6531/packmate/service/WebSocketsParser.java +++ b/src/main/java/ru/serega6531/packmate/service/WebSocketsParser.java @@ -136,6 +136,7 @@ public class WebSocketsParser { .timestamp(lastPacket.getTimestamp()) .ttl(lastPacket.getTtl()) .ungzipped(lastPacket.isUngzipped()) + .webSocketInflated(true) .build() ); }