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`.

-------------

Commit messages:
 - Fixed Http1Request::StreamSubscriber
 - More debug traces
 - 8308024

Changes: https://git.openjdk.org/jdk/pull/13988/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13988&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8308024
  Stats: 454 lines in 5 files changed: 283 ins; 37 del; 134 mod
  Patch: https://git.openjdk.org/jdk/pull/13988.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13988/head:pull/13988

PR: https://git.openjdk.org/jdk/pull/13988

Reply via email to