Работа над распаковкой websocket

This commit is contained in:
serega6531
2020-04-05 01:51:33 +03:00
parent 2688e1fc56
commit d33ca5e667
4 changed files with 7 additions and 1 deletions

View File

@@ -22,6 +22,6 @@ public class CtfService {
private boolean mergeAdjacentPackets;
private boolean inflateWebSockets = true; //TODO
private boolean inflateWebSockets;
}

View File

@@ -52,6 +52,8 @@ public class Packet {
private boolean ungzipped;
private boolean webSocketInflated;
private byte[] content;
@Transient

View File

@@ -89,6 +89,7 @@ public class StreamOptimizer {
final List<Packet> 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) {

View File

@@ -136,6 +136,7 @@ public class WebSocketsParser {
.timestamp(lastPacket.getTimestamp())
.ttl(lastPacket.getTtl())
.ungzipped(lastPacket.isUngzipped())
.webSocketInflated(true)
.build()
);
}