On Tue, 4 Nov 2025 16:02:41 GMT, Daniel Fuchs <[email protected]> wrote:

> This is a good idea, but it kind of hides the fact that passing 0 may not do 
> what you think it does.
> 
> Typically the pitfall is to assume that if you have an array of bytes then 
> you can can call `sendResponseHeaders` with the array length. The API doc of 
> `sendResponseHeaders` should probably make it clear that 0 is a special 
> value, and that `RSPBODY_CHUNKED` is 0.
> 

Actually, that case is not so bad. What happens is that chunked encoding is 
selected but the response body
content is empty as intended, and it should work. But, maybe we should still 
highlight it anyway.

> In addition I would suggest adding code snipets showing both cases (one using 
> a byte array and passing `bytes.length == 0 ? RSPBODY_EMPTY : bytes.length` 
> and the other using `RSPBODY_CHUNKED` with e.g. transferring the content of 
> an `InputStream`.

The worse case is expecting a negative value to mean an indefinite (chunked 
encoded) length. You definitely don't get what you expect in that case.

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

PR Comment: https://git.openjdk.org/jdk/pull/28132#issuecomment-3486869930

Reply via email to