RFR: 8308024: HttpClient (HTTP/1.1) sends an extraneous empty chunk if the BodyPublisher supplies an empty buffer [v2]
Michael McMahon
michaelm at openjdk.org
Mon May 15 18:04:45 UTC 2023
On Mon, 15 May 2023 16:31:54 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:
>> When using HTTP/1.1, if a BodyPublisher reports an unknown length (-1), the HttpClient will send the request body in Chunked mode. If the publisher publishes an empty byte buffer, the client will generate an empty chunk, which the server will interpret as the end of the request body. Sending an empty chunk can never be valid, unless it's the last body chunk and marks the end of the body.
>>
>> A new subclass of `AbstractNoBody.java` `NoBodyPartThree.java` is created to check this scenario. While at it, the tests `java/net/httpclient/NoBodyPartOne.java` and `java/net/httpclient/NoBodyPartTwo.java` which create a lot of clients are also updated to make use of `HttpClient::close`.
>
> Daniel Fuchs has updated the pull request incrementally with one additional commit since the last revision:
>
> Add bug id
Looks fine
-------------
Marked as reviewed by michaelm (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/13988#pullrequestreview-1427086308
More information about the net-dev
mailing list