On Sat, Aug 07, 2021 at 06:33:49PM +0200, Dirk-Willem van Gulik wrote:
...
> What I am seeing is a first brigade with the POST content; with a
> terminating EOF. The bbout data makes it to the CGI script or
> (reverse) proxy.
>
> But I am then getting a second _input_filter call with a second
> brigade of just an EOS packet.
>
> What causes that ? Or am I not running through the brigade properly ?
You're not doing anything wrong, it seems to be a "feature" of the way
input filtering is implemented and should probably be better documented.
I wrote this in mod_ssl:
/* Surprisingly (and perhaps, wrongly), the request body can be
* pulled from the input filter stack more than once; a
* handler may read it, and ap_discard_request_body() will
* attempt to do so again after *every* request. So input
* filters must be prepared to give up an EOS if invoked after
* initially reading the request. The HTTP_IN filter does this
* with its ->eos_sent flag. */
https://svn.apache.org/viewvc/httpd/httpd/trunk/modules/ssl/ssl_engine_io.c?view=markup#l2205
Regards, Joe