Skip to content

Commit

Permalink
[java] case insensitive header names in http requests (#14095)
Browse files Browse the repository at this point in the history
---------

Co-authored-by: Diego Molina <[email protected]>
Co-authored-by: Viet Nguyen Duc <[email protected]>
  • Loading branch information
3 people authored Nov 8, 2024
1 parent 0a9d689 commit 19a4546
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 10 deletions.
4 changes: 2 additions & 2 deletions java/src/org/openqa/selenium/remote/http/HttpMessage.java
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ public String getHeader(String name) {
* @return self
*/
public M setHeader(String name, String value) {
return removeHeader(name).addHeader(name, value);
return removeHeader(name.toLowerCase()).addHeader(name.toLowerCase(), value);
}

/**
Expand All @@ -135,7 +135,7 @@ public M setHeader(String name, String value) {
* @return self
*/
public M addHeader(String name, String value) {
headers.computeIfAbsent(name, (n) -> new ArrayList<>()).add(value);
headers.computeIfAbsent(name.toLowerCase(), (n) -> new ArrayList<>()).add(value);
return self();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ public void canChangeUserAgent() {
.collect(
Collectors.toMap(cells -> cells.get(0).getText(), cells -> cells.get(1).getText()));
assertThat(headers)
.containsEntry("User-Agent", "Camembert 1.0")
.containsEntry("Accept-Language", "da, en-gb;q=0.9, *;q=0.8");
.containsEntry("user-agent", "Camembert 1.0")
.containsEntry("accept-language", "da, en-gb;q=0.9, *;q=0.8");

Object platform =
((JavascriptExecutor) driver).executeScript("return window.navigator.platform");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ void shouldIncludeRequestAndResponseHeaders() {
dumpFilter.requestLogMessage(
new HttpRequest(GET, "/foo").addHeader("Peas", "and Sausages"));

assertThat(reqLog).contains("Peas");
assertThat(reqLog).contains("peas");
assertThat(reqLog).contains("and Sausages");

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

assertThat(resLog).contains("Cheese");
assertThat(resLog).contains("cheese");
assertThat(resLog).contains("Brie");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ void allHeadersAreAdded() {

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

assertThat(headers.contains("Content-Length")).isTrue();
assertThat(headers.contains("Content-length")).isTrue();
assertThat(headers.contains("Content-Length")).isFalse();
assertThat(headers.contains("Content-length")).isFalse();
assertThat(headers.contains("content-length")).isTrue();
}
}
Expand All @@ -54,7 +54,7 @@ void readingIsCaseInsensitive() {
message.addHeader("Content-length", "2048");
message.addHeader("content-length", "4096");

assertThat(message.getHeader("Content-Length")).isEqualTo("4096");
assertThat(message.getHeader("Content-Length")).isEqualTo("1024");
}
}

Expand All @@ -74,7 +74,8 @@ void replacingIsCaseInsensitive() {
assertThat(message.getHeader("content-length")).isEqualTo("8192");
assertThat(headers.contains("Content-Length")).isFalse();
assertThat(headers.contains("Content-length")).isFalse();
assertThat(headers.contains("content-length")).isFalse();
assertThat(headers.contains("contenT-length")).isFalse();
assertThat(headers.contains("content-length")).isTrue();
}
}

Expand Down

0 comments on commit 19a4546

Please sign in to comment.