Update content-length when reconstructing body

Closes gh-32471
This commit is contained in:
rstoyanchev
2024-03-28 14:17:41 +01:00
parent e702733c7b
commit 4a68c44a27
2 changed files with 21 additions and 3 deletions

View File

@@ -203,4 +203,17 @@ class ServletServerHttpRequestTests {
assertThat(result).as("Invalid content returned").isEqualTo(content);
}
@Test // gh-32471
void getFormBodyWhenNotEncodedCharactersPresent() throws IOException {
mockRequest.setContentType("application/x-www-form-urlencoded; charset=UTF-8");
mockRequest.setMethod("POST");
mockRequest.addParameter("name", "Test");
mockRequest.addParameter("lastName", "Test@er");
mockRequest.addHeader("Content-Length", 26);
byte[] result = FileCopyUtils.copyToByteArray(request.getBody());
assertThat(result).isEqualTo("name=Test&lastName=Test%40er".getBytes(StandardCharsets.UTF_8));
assertThat(request.getHeaders().getContentLength()).isEqualTo(result.length);
}
}