RFR: 8368695: Support 101 switching protocol in jdk.httpserver [v3]

Josiah Noel duke at openjdk.org
Mon Jan 5 23:31:28 UTC 2026


> Remaking the PR since I messed up the upstream merge on the other one. See (https://github.com/openjdk/jdk/pull/27751) for the bulk of the previous discussion
> 
> - adds a flag to ExchangeImpl to signal whether the current request is a GET Upgrade request
> - Adds a new `UpgradeInputStream`/`UpgradeOutputStream` to ensure that the server keeps track of when the upgraded request is closed
> - on 101 response codes, `sendResponseHeaders` will not immediately close the output stream 
> - on 101 response codes, `sendResponseHeaders` will use an `UpgradeInputStream`

Josiah Noel has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 19 commits:

 - Merge branch 'openjdk:master' into JDK-8368695
 - Merge branch 'master' into JDK-8368695
 - Merge branch 'master' into JDK-8368695
 - reduce diff
 - Merge remote-tracking branch 'upstream/master' into JDK-8368695
 - Update SwitchingProtocolTest.java
 - Update SwitchingProtocolTest.java
 - Update SwitchingProtocolTest.java
 - add exception test
 - Create UpgradeOutputStream.java
 - ... and 9 more: https://git.openjdk.org/jdk/compare/de81d389...ac3b5379

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

Changes: https://git.openjdk.org/jdk/pull/27989/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27989&range=02
  Stats: 457 lines in 4 files changed: 449 ins; 2 del; 6 mod
  Patch: https://git.openjdk.org/jdk/pull/27989.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27989/head:pull/27989

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


More information about the net-dev mailing list