RFR: 8349670: HttpServer: sending interim responses fails after JDK-7026262 [v2]

Josiah Noel duke at openjdk.org
Tue Sep 23 14:12:20 UTC 2025


On Tue, 23 Sep 2025 13:59:38 GMT, Josiah Noel <duke at openjdk.org> wrote:

>> Following the guideline of the last comment on [JDK-8349670](https://bugs.openjdk.org/browse/JDK-8349670?focusedId=14794649&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14794649), resolves the issue where sending a 1xx status code would close the input stream, preventing the server from reading the body. 
>> 
>> - Adds a new flag checking if the incoming request is an upgrade request.
>> - When receiving an upgrade request, directly return the input/output stream
>> - When a 1xx status code is sent by `sendResponseHeaders`, the input/output streams will not be closed prematurely.
>> - sentHeaders will not be set to true when sending 1xx status codes
>
> Josiah Noel has updated the pull request incrementally with one additional commit since the last revision:
> 
>   address pr comments

Thank you for taking the time to review.

> In both cases the server _is required_ to send a 101 Switching protocols response, any other response means that the server decided to keep using HTTP 1.1.

It does not appear that this is the case. Looking at [rfc9110](https://www.rfc-editor.org/rfc/rfc9110.html#name-upgrade), a server can send other status codes to reject the connection, such as 426 or ignore the header altogether and not upgrade as you say.

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

PR Comment: https://git.openjdk.org/jdk/pull/27069#issuecomment-3324187810


More information about the net-dev mailing list