You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2016/08/30 09:35:37 UTC
[13/50] jclouds git commit: [JCLOUDS-1011] force closing HTTP client
connection after using Docker build REST API method
[JCLOUDS-1011] force closing HTTP client connection after using Docker build REST API method
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/d7b3f5d9
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/d7b3f5d9
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/d7b3f5d9
Branch: refs/heads/master
Commit: d7b3f5d98ff786b79583ee08f670dba0cc308344
Parents: 288d387
Author: Josef Cacek <jo...@gmail.com>
Authored: Fri Oct 2 15:00:55 2015 +0200
Committer: Ignasi Barrera <na...@apache.org>
Committed: Fri Oct 2 15:58:42 2015 +0200
----------------------------------------------------------------------
.../org/jclouds/docker/features/MiscApi.java | 4 ++--
.../docker/features/MiscApiMockTest.java | 22 ++++++++++++++++++--
2 files changed, 22 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/d7b3f5d9/apis/docker/src/main/java/org/jclouds/docker/features/MiscApi.java
----------------------------------------------------------------------
diff --git a/apis/docker/src/main/java/org/jclouds/docker/features/MiscApi.java b/apis/docker/src/main/java/org/jclouds/docker/features/MiscApi.java
index 6c49436..8e5548e 100644
--- a/apis/docker/src/main/java/org/jclouds/docker/features/MiscApi.java
+++ b/apis/docker/src/main/java/org/jclouds/docker/features/MiscApi.java
@@ -65,7 +65,7 @@ public interface MiscApi {
@Named("image:build")
@POST
@Path("/build")
- @Headers(keys = "Content-Type", values = "application/tar")
+ @Headers(keys = { "Content-Type", "Connection" }, values = { "application/tar", "close" })
InputStream build(Payload inputStream);
/**
@@ -79,7 +79,7 @@ public interface MiscApi {
@Named("image:build")
@POST
@Path("/build")
- @Headers(keys = "Content-Type", values = "application/tar")
+ @Headers(keys = { "Content-Type", "Connection" }, values = { "application/tar", "close" })
InputStream build(Payload inputStream, BuildOptions options);
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/d7b3f5d9/apis/docker/src/test/java/org/jclouds/docker/features/MiscApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/docker/src/test/java/org/jclouds/docker/features/MiscApiMockTest.java b/apis/docker/src/test/java/org/jclouds/docker/features/MiscApiMockTest.java
index 630d7af..4fe87ca 100644
--- a/apis/docker/src/test/java/org/jclouds/docker/features/MiscApiMockTest.java
+++ b/apis/docker/src/test/java/org/jclouds/docker/features/MiscApiMockTest.java
@@ -18,6 +18,8 @@ package org.jclouds.docker.features;
import com.squareup.okhttp.mockwebserver.MockResponse;
import com.squareup.okhttp.mockwebserver.MockWebServer;
+import com.squareup.okhttp.mockwebserver.RecordedRequest;
+
import org.jclouds.docker.DockerApi;
import org.jclouds.docker.internal.BaseDockerMockTest;
import org.jclouds.docker.parse.InfoParseTest;
@@ -26,11 +28,14 @@ import org.jclouds.io.Payload;
import org.jclouds.io.Payloads;
import org.testng.annotations.Test;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.jclouds.docker.compute.BaseDockerApiLiveTest.tarredDockerfile;
import static org.testng.Assert.assertEquals;
import java.io.File;
import java.io.FileInputStream;
+import javax.ws.rs.core.HttpHeaders;
+
/**
* Mock tests for the {@link org.jclouds.docker.features.MiscApi} class.
*/
@@ -64,7 +69,8 @@ public class MiscApiMockTest extends BaseDockerMockTest {
MiscApi api = api(DockerApi.class, server.getUrl("/").toString()).getMiscApi();
try {
api.build(tarredDockerfile());
- assertSent(server, "POST", "/build");
+ RecordedRequest request = assertSent(server, "POST", "/build");
+ assertDockerBuildHttpHeaders(request);
} finally {
server.shutdown();
}
@@ -79,10 +85,22 @@ public class MiscApiMockTest extends BaseDockerMockTest {
payload.getContentMetadata().setContentLength(file.length());
try {
api.build(payload);
- assertSent(server, "POST", "/build");
+ RecordedRequest request = assertSent(server, "POST", "/build");
+ assertDockerBuildHttpHeaders(request);
} finally {
server.shutdown();
}
}
+ /**
+ * Asserts that correct values of HTTP headers are used in Docker build REST
+ * API calls.
+ *
+ * @param request
+ */
+ private void assertDockerBuildHttpHeaders(RecordedRequest request) {
+ assertThat(request.getHeader("Connection")).isEqualTo("close");
+ assertThat(request.getHeader(HttpHeaders.CONTENT_TYPE)).isEqualTo("application/tar");
+ }
+
}