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