Skip to content

Commit f4c847b

Browse files
committed
MockHttpServletRequestBuilder sets content-length
Closes gh-23978
1 parent 4bbf2d5 commit f4c847b

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -687,6 +687,13 @@ public final MockHttpServletRequest buildRequest(ServletContext servletContext)
687687
}
688688
});
689689

690+
if (!ObjectUtils.isEmpty(this.content) &&
691+
!this.headers.containsKey(HttpHeaders.CONTENT_LENGTH) &&
692+
!this.headers.containsKey(HttpHeaders.TRANSFER_ENCODING)) {
693+
694+
request.addHeader(HttpHeaders.CONTENT_LENGTH, this.content.length);
695+
}
696+
690697
String query = this.url.getRawQuery();
691698
if (!this.queryParams.isEmpty()) {
692699
String s = UriComponentsBuilder.newInstance().queryParams(this.queryParams).build().encode().getQuery();

spring-test/src/test/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilderTests.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,7 @@ public void body() throws IOException {
389389
byte[] result = FileCopyUtils.copyToByteArray(request.getInputStream());
390390

391391
assertThat(result).isEqualTo(body);
392+
assertThat(request.getContentLength()).isEqualTo(body.length);
392393
}
393394

394395
@Test

0 commit comments

Comments
 (0)