Currently it is possible for `HttpURLConnection` with the `Expect: 
100-Continue` header to timeout awaiting for a server response. According to 
[RFC-7231](https://www.rfc-editor.org/rfc/rfc7231#section-5.1.1) a client 
`SHOULD NOT wait for an indefinite period before sending the message body`.

This PR changes the existing `expect100Continue` method to wait for a maximum 
of 5 seconds for a server response, this will be shorter if a timeout is set. 
If no response is received, the message is sent regardless.

Tests have been added to account for different scenarios that currently 
timeout, and the changes have been tested against tiers 1,2 and 3.

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

Commit messages:
 - further cleanup
 - cleanup and formatting
 - Fix for 100-continue hanging

Changes: https://git.openjdk.org/jdk/pull/13330/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13330&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8054022
  Stats: 416 lines in 2 files changed: 411 ins; 2 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/13330.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13330/head:pull/13330

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

Reply via email to