From 9f48d9c3b014628d370e8b9a1f52f09de59125fc Mon Sep 17 00:00:00 2001 From: serega6531 Date: Mon, 20 May 2019 19:18:19 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B7=D0=B0=D1=80=D1=85=D0=B8=D0=B2=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20gzip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packmate/service/StreamService.java | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/main/java/ru/serega6531/packmate/service/StreamService.java b/src/main/java/ru/serega6531/packmate/service/StreamService.java index 804b5bc..506683f 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; @@ -106,10 +104,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()); @@ -121,10 +121,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 @@ -143,8 +145,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); + } } }