From 86e9cbdde2e3cb63e85947f9b36095ade441ba4b Mon Sep 17 00:00:00 2001 From: Sima Zhu Date: Thu, 20 Jun 2019 19:06:42 -0700 Subject: [PATCH 1/2] Make changes to not override the content length in header --- .../main/java/com/azure/core/test/http/PlaybackClient.java | 6 ++++-- .../com/azure/core/test/policy/RecordNetworkCallPolicy.java | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/core/azure-core-test/src/main/java/com/azure/core/test/http/PlaybackClient.java b/core/azure-core-test/src/main/java/com/azure/core/test/http/PlaybackClient.java index 82dfc3c0a8bea..fc3641a950174 100644 --- a/core/azure-core-test/src/main/java/com/azure/core/test/http/PlaybackClient.java +++ b/core/azure-core-test/src/main/java/com/azure/core/test/http/PlaybackClient.java @@ -100,7 +100,7 @@ private Mono playbackHttpResponse(final HttpRequest request) { HttpHeaders headers = new HttpHeaders(); for (Map.Entry pair : networkCallRecord.response().entrySet()) { - if (!pair.getKey().equals("StatusCode") && !pair.getKey().equals("Body") && !pair.getKey().equals("Content-Length")) { + if (!pair.getKey().equals("StatusCode") && !pair.getKey().equals("Body")) { String rawHeader = pair.getValue(); for (Map.Entry rule : textReplacementRules.entrySet()) { if (rule.getValue() != null) { @@ -122,7 +122,9 @@ private Mono playbackHttpResponse(final HttpRequest request) { } bytes = rawBody.getBytes(StandardCharsets.UTF_8); - headers.put("Content-Length", String.valueOf(bytes.length)); + if (bytes.length > 0) { + headers.put("Content-Length", String.valueOf(bytes.length)); + } } HttpResponse response = new MockHttpResponse(request, recordStatusCode, headers, bytes); diff --git a/core/azure-core-test/src/main/java/com/azure/core/test/policy/RecordNetworkCallPolicy.java b/core/azure-core-test/src/main/java/com/azure/core/test/policy/RecordNetworkCallPolicy.java index b32e86a4956e5..e78db2a1039c9 100644 --- a/core/azure-core-test/src/main/java/com/azure/core/test/policy/RecordNetworkCallPolicy.java +++ b/core/azure-core-test/src/main/java/com/azure/core/test/policy/RecordNetworkCallPolicy.java @@ -98,7 +98,7 @@ private Mono> extractResponseData(final HttpResponse respons headerValueToStore = "0"; addedRetryAfter = true; } - responseData.put(header.name().toLowerCase(Locale.US), headerValueToStore); + responseData.put(header.name(), headerValueToStore); } if (!addedRetryAfter) { @@ -109,7 +109,7 @@ private Mono> extractResponseData(final HttpResponse respons if (contentType == null) { return Mono.just(responseData); } else if (contentType.contains("json") || response.headerValue("content-encoding") == null) { - return response.bodyAsString().map(content -> { + return response.bodyAsString().switchIfEmpty(Mono.just("")).map(content -> { responseData.put("Body", content); return responseData; }); From 7b343dffaee14553eee47b15b33ab19526d3d650 Mon Sep 17 00:00:00 2001 From: Sima Zhu Date: Fri, 21 Jun 2019 07:05:19 -0700 Subject: [PATCH 2/2] Fixed the checkstyle --- .../java/com/azure/core/test/policy/RecordNetworkCallPolicy.java | 1 - 1 file changed, 1 deletion(-) diff --git a/core/azure-core-test/src/main/java/com/azure/core/test/policy/RecordNetworkCallPolicy.java b/core/azure-core-test/src/main/java/com/azure/core/test/policy/RecordNetworkCallPolicy.java index e78db2a1039c9..df9d27cabe259 100644 --- a/core/azure-core-test/src/main/java/com/azure/core/test/policy/RecordNetworkCallPolicy.java +++ b/core/azure-core-test/src/main/java/com/azure/core/test/policy/RecordNetworkCallPolicy.java @@ -21,7 +21,6 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.HashMap; -import java.util.Locale; import java.util.Map; import java.util.Objects; import java.util.zip.GZIPInputStream;