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..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; @@ -98,7 +97,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 +108,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; });