Hi all,

The Spring folks have pinged me on an issue reported to them. The short version is that Tomcat doesn't support non-blocking reads of chunked request bodies.

While we have nearly all of the pieces we need to fix this, the commit is still going to be quite large involving quite a lot of changes to the ChunkedInputFilter. This will require some changes to Tomcat's internal API for ChunkedInputFilter - a number of protected fields and methods will be removed or made private.

I have this working locally except for trailer fields.

Closely related is the parsing of trailer fields. We already have a code comment saying this is very similar to HTTP fields (headers) but a common implementation isn't provided because fields use blocking or non-blocking IO but trailer fields only use blocking IO. Given we need to support non-blocking IO there is now a much stronger case for pulling the field (header) parsing code out to a separate class and reusing it for trailer fields.

I'm starting to work on this now and hope to complete the work this week.

Given these changes are going to impact pretty much every request I wanted to provide a heads up that these changes were on the way.

My plan is to commit these changes to 11.0.x with the low risk parts (e.g. new methods) back-ported. Then, once we can see what is left, we can decide how quickly/slowly we want to back-port the complete fix to 10.1.x and 9.0.x (the issue was reported against 10.1.x).

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to