RFR: 8349670: HttpServer: sending interim responses fails after JDK-7026262 [v21]
Michael McMahon
michaelm at openjdk.org
Fri Oct 10 12:00:12 UTC 2025
On Fri, 10 Oct 2025 10:14:03 GMT, Michael McMahon <michaelm at openjdk.org> wrote:
>> Josiah Noel has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Update Send1xxResponsesTest.java
>
> I have to say I'm a bit uncomfortable trying to shoe-horn all this functionality into the existing method `sendResponseHeaders`. There are significant behavioral implications for the server with each of the `1XX` intermediate response codes. Take `103 early Hints` for example. That is usually sent with a `Link` header in the intermediate response. Where would the header come from? If it's the response headers returned from `getResponseHeaders` then is this map cleared after the intermediate response or is the user supposed to clear it? Does this work?
>
> If we are supporting `100 Continue` now (under user control) does the expected behavior work? If a client sends a request with an `Expect: 100-Continue` header and waits for the intermediate response before sending the request body, does this actually work? I know we have partial support for it already. But, I'd like to see tests and apidoc documenting all of this before we consider adding it.
> @Michael-Mc-Mahon are you suggesting we should add a new API to send informational codes instead, and throw in `sendResponseHeaders()` if the status is >= 100 and < 200?
That was my initial expectation. I was expecting a new method like `sendIntermediateResponse(int code, Headers headers)`
If we're not adding a new API, then I think all the above questions need answers and the spec for sendResponseHeaders updated to spell out how all this functionality would work, with tests showing it. Either way, I think this change needs a CSR.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/27069#issuecomment-3389698975
More information about the net-dev
mailing list