RFR: 8314978: Multiple server call from connection failing with expect100 in getOutputStream [v2]

Vyom Tewari vtewari at openjdk.org
Tue Sep 5 06:08:42 UTC 2023


On Mon, 4 Sep 2023 16:49:39 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:

> IIRC the `ProtocolException` here is caught higher in the stack - I believe that's what the comment `// responseCode will be returned to caller` means. @DarraghClarke might remember. There is much history here. The fix may appear simple on the surface but I would like to double check that it doesn't break anything.

'ProtocolException' is caught in 'getOutputStream0()' and re-throws as follows.

            // Save the response code which may have been set while enforcing
            // the 100-continue. disconnectInternal() forces it to -1
            int i = responseCode;
            disconnectInternal();
            responseCode = i;
            throw e;

As per specification server can return non 100 response code so 'HttpURLConnection' have to handle  non 100 response code as per specification.

Note: Other clients does not throws exception if server decides to return non 100 response code.

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

PR Comment: https://git.openjdk.org/jdk/pull/15483#issuecomment-1705996411


More information about the net-dev mailing list