Repository: jclouds Updated Branches: refs/heads/master 60e58dc98 -> b9322c583
JCLOUDS-1091: Populate the Content-Length header in the OkHttp driver Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/b9322c58 Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/b9322c58 Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/b9322c58 Branch: refs/heads/master Commit: b9322c583d6aa0cae91d2c5724dfa528a0168385 Parents: 60e58dc Author: Ignasi Barrera <[email protected]> Authored: Mon Mar 14 12:41:53 2016 +0100 Committer: Ignasi Barrera <[email protected]> Committed: Mon Mar 14 12:42:44 2016 +0100 ---------------------------------------------------------------------- .../jclouds/http/okhttp/OkHttpCommandExecutorService.java | 5 +++++ .../http/okhttp/OkHttpCommandExecutorServiceTest.java | 8 ++++++++ 2 files changed, 13 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/b9322c58/drivers/okhttp/src/main/java/org/jclouds/http/okhttp/OkHttpCommandExecutorService.java ---------------------------------------------------------------------- diff --git a/drivers/okhttp/src/main/java/org/jclouds/http/okhttp/OkHttpCommandExecutorService.java b/drivers/okhttp/src/main/java/org/jclouds/http/okhttp/OkHttpCommandExecutorService.java index 72370d3..88c4409 100644 --- a/drivers/okhttp/src/main/java/org/jclouds/http/okhttp/OkHttpCommandExecutorService.java +++ b/drivers/okhttp/src/main/java/org/jclouds/http/okhttp/OkHttpCommandExecutorService.java @@ -131,6 +131,11 @@ public final class OkHttpCommandExecutorService extends BaseHttpCommandExecutorS } @Override + public long contentLength() throws IOException { + return payload.getContentMetadata().getContentLength(); + } + + @Override public MediaType contentType() { return MediaType.parse(payload.getContentMetadata().getContentType()); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/b9322c58/drivers/okhttp/src/test/java/org/jclouds/http/okhttp/OkHttpCommandExecutorServiceTest.java ---------------------------------------------------------------------- diff --git a/drivers/okhttp/src/test/java/org/jclouds/http/okhttp/OkHttpCommandExecutorServiceTest.java b/drivers/okhttp/src/test/java/org/jclouds/http/okhttp/OkHttpCommandExecutorServiceTest.java index c0b3afa..6a485ce 100644 --- a/drivers/okhttp/src/test/java/org/jclouds/http/okhttp/OkHttpCommandExecutorServiceTest.java +++ b/drivers/okhttp/src/test/java/org/jclouds/http/okhttp/OkHttpCommandExecutorServiceTest.java @@ -21,6 +21,7 @@ import static org.jclouds.Constants.PROPERTY_MAX_CONNECTIONS_PER_HOST; import static org.jclouds.Constants.PROPERTY_USER_THREADS; import static org.jclouds.util.Closeables2.closeQuietly; import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotNull; import java.io.Closeable; import java.util.List; @@ -28,6 +29,7 @@ import java.util.Properties; import javax.ws.rs.Path; import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; import org.jclouds.http.BaseHttpCommandExecutorServiceIntegrationTest; import org.jclouds.http.HttpResponseException; @@ -70,6 +72,7 @@ public class OkHttpCommandExecutorServiceTest extends BaseHttpCommandExecutorSer private interface PatchApi extends Closeable { @PATCH @Path("/objects/{id}") + @Produces("text/plain") String patch(@PathParam("id") String id, @BinderParam(BindToStringPayload.class) String body); @PATCH @@ -88,6 +91,11 @@ public class OkHttpCommandExecutorServiceTest extends BaseHttpCommandExecutorSer assertEquals(request.getMethod(), "PATCH"); assertEquals(new String(request.getBody(), Charsets.UTF_8), "foo"); assertEquals(result, "fooPATCH"); + // Verify content headers are sent + assertNotNull(request.getHeader("Content-Type")); + assertNotNull(request.getHeader("Content-Length")); + assertEquals(request.getHeader("Content-Type"), "text/plain"); + assertEquals(Integer.valueOf(request.getHeader("Content-Length")).intValue(), "foo".getBytes().length); } finally { closeQuietly(api); server.shutdown();
