RFR: 8283544: HttpClient GET method adds Content-Length: 0 header [v5]
Daniel Fuchs
dfuchs at openjdk.java.net
Tue Apr 19 16:49:16 UTC 2022
On Thu, 7 Apr 2022 13:53:35 GMT, Conor Cleary <ccleary at openjdk.org> wrote:
>> **Issue**
>> When using the `HttpClient.send()` to send a GET request created using the `HttpRequest.newBuilder()`, a `Content-length: 0` header is set. This behaviour causes issues with many services as a body related header is usually not expected to be included with a GET request.
>>
>> **Solution**
>> `Http1Request.java` was modified so that when the request method is a GET, a `Content-length` header is not added to the request. However, if a developer chooses to include a body in a GET request (though it is generally considered bad practice), a `Content-length` header with the appropriate value will be added.
>
> Conor Cleary has updated the pull request incrementally with one additional commit since the last revision:
>
> 8283544: Updated URI creation
test/jdk/java/net/httpclient/ContentLengthHeaderTest.java line 202:
> 200: } else {
> 201: String responseBody = exchange.getRequestMethod() + " request contained an unexpected " +
> 202: "Content-length header.";
Maybe the message could include the value of `Content-Length` that was received.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8017
More information about the net-dev
mailing list