RFR: 8314978: Multiple server call from connection failing with expect100 in getOutputStream
Vyom Tewari
vtewari at openjdk.org
Wed Aug 30 09:30:30 UTC 2023
With the current implementation of HttpURLConnection if server rejects the “Expect 100-continue” then there will be ‘java.net.ProtocolException’ will be thrown from 'expect100Continue()' method.
After the exception thrown, If we call any other method on the same instance (ex getHeaderField(), or getHeaderFields()). They will internally call getOuputStream() which invokes writeRequests(), which make the actual server call.
The code change will sets the existing variable ‘rememberedException’ when there is exception and getOutputStream0() will re-throw ‘rememberedException’ if the ‘rememberedException’ is not null.
Note: getOutputStream0() also call’s ‘expect100Continue()’ if ‘expectContinue’ is true.
-------------
Commit messages:
- 8314978: Multiple server call from connection failing with expect100 in getOutputStream
Changes: https://git.openjdk.org/jdk/pull/15483/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15483&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8314978
Stats: 257 lines in 2 files changed: 257 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/15483.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/15483/head:pull/15483
PR: https://git.openjdk.org/jdk/pull/15483
More information about the net-dev
mailing list