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

Josiah Noel duke at openjdk.org
Fri Feb 27 04:12:11 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 32 commits:

 - Merge branch 'openjdk:master' into JDK-8368695
 - Merge branch 'openjdk:master' into JDK-8368695
 - lint
 - exclude http/1.0
 - constant
 - will not upgrade when there is a body
 - Update UpgradeOutputStream.java
 - Merge branch 'openjdk:master' into JDK-8368695
 - copyright
 - Update UpgradeInputStream.java
 - ... and 22 more: https://git.openjdk.org/jdk/compare/6daca7ef...3f68b326

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

Changes: https://git.openjdk.org/jdk/pull/27989/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27989&range=15
  Stats: 467 lines in 4 files changed: 459 ins; 3 del; 5 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