Skip to content

Commit 19a4546

Browse files
iampopovichdiemolVietND96
authored
[java] case insensitive header names in http requests (#14095)
--------- Co-authored-by: Diego Molina <[email protected]> Co-authored-by: Viet Nguyen Duc <[email protected]>
1 parent 0a9d689 commit 19a4546

File tree

4 files changed

+11
-10
lines changed

4 files changed

+11
-10
lines changed

java/src/org/openqa/selenium/remote/http/HttpMessage.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ public String getHeader(String name) {
123123
* @return self
124124
*/
125125
public M setHeader(String name, String value) {
126-
return removeHeader(name).addHeader(name, value);
126+
return removeHeader(name.toLowerCase()).addHeader(name.toLowerCase(), value);
127127
}
128128

129129
/**
@@ -135,7 +135,7 @@ public M setHeader(String name, String value) {
135135
* @return self
136136
*/
137137
public M addHeader(String name, String value) {
138-
headers.computeIfAbsent(name, (n) -> new ArrayList<>()).add(value);
138+
headers.computeIfAbsent(name.toLowerCase(), (n) -> new ArrayList<>()).add(value);
139139
return self();
140140
}
141141

java/test/org/openqa/selenium/devtools/ChangeUserAgentTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ public void canChangeUserAgent() {
4848
.collect(
4949
Collectors.toMap(cells -> cells.get(0).getText(), cells -> cells.get(1).getText()));
5050
assertThat(headers)
51-
.containsEntry("User-Agent", "Camembert 1.0")
52-
.containsEntry("Accept-Language", "da, en-gb;q=0.9, *;q=0.8");
51+
.containsEntry("user-agent", "Camembert 1.0")
52+
.containsEntry("accept-language", "da, en-gb;q=0.9, *;q=0.8");
5353

5454
Object platform =
5555
((JavascriptExecutor) driver).executeScript("return window.navigator.platform");

java/test/org/openqa/selenium/remote/http/DumpHttpExchangeFilterTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ void shouldIncludeRequestAndResponseHeaders() {
3434
dumpFilter.requestLogMessage(
3535
new HttpRequest(GET, "/foo").addHeader("Peas", "and Sausages"));
3636

37-
assertThat(reqLog).contains("Peas");
37+
assertThat(reqLog).contains("peas");
3838
assertThat(reqLog).contains("and Sausages");
3939

4040
String resLog =
@@ -43,7 +43,7 @@ void shouldIncludeRequestAndResponseHeaders() {
4343
.addHeader("Cheese", "Brie")
4444
.setContent(string("Hello, World!", UTF_8)));
4545

46-
assertThat(resLog).contains("Cheese");
46+
assertThat(resLog).contains("cheese");
4747
assertThat(resLog).contains("Brie");
4848
}
4949

java/test/org/openqa/selenium/remote/http/HttpMessageTest.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ void allHeadersAreAdded() {
4040

4141
message.getHeaderNames().forEach(headers::add);
4242

43-
assertThat(headers.contains("Content-Length")).isTrue();
44-
assertThat(headers.contains("Content-length")).isTrue();
43+
assertThat(headers.contains("Content-Length")).isFalse();
44+
assertThat(headers.contains("Content-length")).isFalse();
4545
assertThat(headers.contains("content-length")).isTrue();
4646
}
4747
}
@@ -54,7 +54,7 @@ void readingIsCaseInsensitive() {
5454
message.addHeader("Content-length", "2048");
5555
message.addHeader("content-length", "4096");
5656

57-
assertThat(message.getHeader("Content-Length")).isEqualTo("4096");
57+
assertThat(message.getHeader("Content-Length")).isEqualTo("1024");
5858
}
5959
}
6060

@@ -74,7 +74,8 @@ void replacingIsCaseInsensitive() {
7474
assertThat(message.getHeader("content-length")).isEqualTo("8192");
7575
assertThat(headers.contains("Content-Length")).isFalse();
7676
assertThat(headers.contains("Content-length")).isFalse();
77-
assertThat(headers.contains("content-length")).isFalse();
77+
assertThat(headers.contains("contenT-length")).isFalse();
78+
assertThat(headers.contains("content-length")).isTrue();
7879
}
7980
}
8081

0 commit comments

Comments
 (0)