diff --git a/engine/build.gradle.kts b/engine/build.gradle.kts
index 26575df1..7adcfa3b 100644
--- a/engine/build.gradle.kts
+++ b/engine/build.gradle.kts
@@ -29,7 +29,7 @@ dependencies {
implementation(it) {
version {
strictly("[4,5)")
- prefer("4.9.2")
+ prefer("4.9.3")
}
}
}
diff --git a/engine/src/main/java/de/gesellix/docker/rawstream/FrameReader.java b/engine/src/main/java/de/gesellix/docker/rawstream/FrameReader.java
index ee9b3f0e..79395c63 100644
--- a/engine/src/main/java/de/gesellix/docker/rawstream/FrameReader.java
+++ b/engine/src/main/java/de/gesellix/docker/rawstream/FrameReader.java
@@ -5,11 +5,16 @@
import okio.BufferedSource;
import okio.Okio;
import okio.Source;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import java.io.EOFException;
import java.io.IOException;
public class FrameReader implements Reader {
+ private final static Logger log = LoggerFactory.getLogger(FrameReader.class);
+
private final BufferedSource bufferedSource;
private boolean expectMultiplexedResponse;
@@ -25,7 +30,7 @@ public FrameReader(Source source, boolean expectMultiplexedResponse) {
}
@Override
- public Frame readNext(Class type) throws IOException {
+ public Frame readNext(Class type) {
if (expectMultiplexedResponse) {
// See https://docs.docker.com/engine/api/v1.41/#operation/ContainerAttach for the stream format documentation.
// header := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4}
@@ -37,7 +42,11 @@ public Frame readNext(Class type) throws IOException {
return new Frame(streamType, bufferedSource.readByteArray(frameSize));
}
+ catch (EOFException e) {
+ return null;
+ }
catch (IOException e) {
+ log.error("error reading multiplexed frames", e);
return null;
}
}
diff --git a/integrationtest/build.gradle.kts b/integrationtest/build.gradle.kts
index 6e0461e2..df72ddec 100644
--- a/integrationtest/build.gradle.kts
+++ b/integrationtest/build.gradle.kts
@@ -28,7 +28,7 @@ dependencies {
implementation(it) {
version {
strictly("[4,5)")
- prefer("4.9.2")
+ prefer("4.9.3")
}
}
}