Commit 2b31d3ae authored by Ben Kirchman's avatar Ben Kirchman Committed by Commit Bot

Revert making headers lowercase in FakeUrlResponse

We had made response header names lowercase because they are case
insensitive. It turns out UrlResponseInfoImpl already uses a TreeMap
with a case insensitive order. Map keys will always be case insensitive
anyway, but it could be confusing to users if we change the case of the
headers.

Original Discussion: crrev.com/c/1703325/36/components/cronet/android/fake/java/org/chromium/net/test/FakeUrlRequest.java#203

Bug: 669707
Change-Id: If8af8faf9214fba51e2dceab28e8dcb82976b8ea
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1762356
Commit-Queue: Benjamin Kirchman <kirchman@google.com>
Reviewed-by: default avatarPaul Jensen <pauljensen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#689123}
parent eb651697
...@@ -12,7 +12,6 @@ import java.util.ArrayList; ...@@ -12,7 +12,6 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
...@@ -126,8 +125,7 @@ public class FakeUrlResponse { ...@@ -126,8 +125,7 @@ public class FakeUrlResponse {
* @return a builder with the corresponding header set * @return a builder with the corresponding header set
*/ */
public Builder addHeader(String name, String value) { public Builder addHeader(String name, String value) {
mAllHeadersList.add( mAllHeadersList.add(new AbstractMap.SimpleEntry<>(name, value));
new AbstractMap.SimpleEntry<>(name.toLowerCase(Locale.ROOT), value));
return this; return this;
} }
......
...@@ -118,8 +118,7 @@ public class FakeUrlResponseTest { ...@@ -118,8 +118,7 @@ public class FakeUrlResponseTest {
String nameNotInOriginalList = "nameNotInOriginalList"; String nameNotInOriginalList = "nameNotInOriginalList";
String valueNotInOriginalList = "valueNotInOriginalList"; String valueNotInOriginalList = "valueNotInOriginalList";
AbstractMap.SimpleEntry<String, String> entryNotInOriginalList = AbstractMap.SimpleEntry<String, String> entryNotInOriginalList =
new AbstractMap.SimpleEntry<>( new AbstractMap.SimpleEntry<>(nameNotInOriginalList, valueNotInOriginalList);
nameNotInOriginalList.toLowerCase(Locale.ROOT), valueNotInOriginalList);
FakeUrlResponse testResponseWithHeader = FakeUrlResponse testResponseWithHeader =
mTestResponse.toBuilder() mTestResponse.toBuilder()
...@@ -202,4 +201,18 @@ public class FakeUrlResponseTest { ...@@ -202,4 +201,18 @@ public class FakeUrlResponseTest {
assertNotEquals( assertNotEquals(
defaultResponse.getAllHeadersList(), defaultResponseWithHeader.getAllHeadersList()); defaultResponse.getAllHeadersList(), defaultResponseWithHeader.getAllHeadersList());
} }
@Test
@SmallTest
public void testUrlResponseInfoHeadersMapIsCaseInsensitve() {
UrlResponseInfo info = new UrlResponseInfoImpl(new ArrayList<>(), 200, "OK",
mTestResponse.getAllHeadersList(), mTestResponse.getWasCached(),
mTestResponse.getNegotiatedProtocol(), mTestResponse.getProxyServer(),
mTestResponse.getResponseBody().length);
Map infoMap = info.getAllHeaders();
assertTrue(infoMap.containsKey(TEST_HEADER_NAME.toLowerCase(Locale.ROOT)));
assertTrue(infoMap.containsKey(TEST_HEADER_NAME.toUpperCase(Locale.ROOT)));
}
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment