Description
Rossen Stoyanchev opened SPR-17393 and commented
EncoderHttpMessageWriter computes and sets the content-length for Mono values since 5.0.5, see #21085, but also checks to make sure there is no "transfer-encoding" header set already. Since Reactor Netty sets "transfer-encoding: chunked" by default int the beginning, this became and issue, after the recent changes in 5.1.1, see -SPR-17250,- to wrap the headers of the underlying server, in turn requiring a workaround in ReactorServerHttpResponse.
While the check for whether transfer-encoding is set isn't an issue in itself, it should not be necessary. It's not a header set by the application typically. Arguably it's better to remove this check in order to be able to remove the workaround in ReactorServerHttpResponse, and essentially leave the decision for transfer-encoding to Reactor Netty.
Affects: 5.1.1
Issue Links:
- Improve WebFlux performance for header management [SPR-17250] #21783 Improve WebFlux performance for header management
- EncoderHttpMessageWriter never sets Content-Length [SPR-16542] #21085 EncoderHttpMessageWriter never sets Content-Length