diff --git a/src/main/java/ru/serega6531/packmate/service/StreamService.java b/src/main/java/ru/serega6531/packmate/service/StreamService.java index 772e516..830dcf0 100644 --- a/src/main/java/ru/serega6531/packmate/service/StreamService.java +++ b/src/main/java/ru/serega6531/packmate/service/StreamService.java @@ -16,9 +16,7 @@ import ru.serega6531.packmate.repository.StreamRepository; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.nio.file.Files; import java.util.*; -import java.util.stream.Collectors; import java.util.zip.GZIPInputStream; import java.util.zip.ZipException; @@ -111,10 +109,12 @@ public class StreamService { List cut = packets.subList(gzipStartPacket, gzipEndPacket + 1); Packet decompressed = decompressGzipPackets(cut); - packets.removeAll(cut); - packets.add(gzipStartPacket, decompressed); - gzipStarted = false; - i = gzipStartPacket + 1; + if(decompressed != null) { + packets.removeAll(cut); + packets.add(gzipStartPacket, decompressed); + gzipStarted = false; + i = gzipStartPacket + 1; + } } else if (!packet.isIncoming()) { String content = new String(packet.getContent()); @@ -126,10 +126,12 @@ public class StreamService { List cut = packets.subList(gzipStartPacket, gzipEndPacket + 1); Packet decompressed = decompressGzipPackets(cut); - packets.removeAll(cut); - packets.add(gzipStartPacket, decompressed); - gzipStarted = false; - i = gzipStartPacket + 1; + if(decompressed != null) { + packets.removeAll(cut); + packets.add(gzipStartPacket, decompressed); + gzipStarted = false; + i = gzipStartPacket + 1; + } } if (contentPos != -1) { // начало body @@ -148,8 +150,10 @@ public class StreamService { List cut = packets.subList(gzipStartPacket, gzipEndPacket + 1); Packet decompressed = decompressGzipPackets(cut); - packets.removeAll(cut); - packets.add(gzipStartPacket, decompressed); + if(decompressed != null) { + packets.removeAll(cut); + packets.add(gzipStartPacket, decompressed); + } } }