> > Yes, this code works and I am using it, too. But the 
> documentation says,
> > you can use
> >    $r->read($buf, $r->headers_in->{'content-length'}
> 
> this statement reads the entire request content in one iteration by 
> using a read buffer size equal to the content-length of the request.
> 
> > http://perl.apache.org/docs/2.0/user/porting/compat.html
> > I want to know if the documentation is wrong, and if it is wrong, it
> > should be corrected!
> 
> I'm not sure if there is anything wrong with it, seems like a 
> good way 
> to slurp the request content.
> 
> If the request content is large and you are performing a memory 
> intensive operation on each chunk then you might want to read 
> in a while 
> loop as in your first example and perform some work on each chunk, so 
> that the overall memory usage is low.
> 
Please read my initial posting:

...
But there are two problems with
$r->read($buf, $r->headers_in->{'content-length'}

1. An input filter can change the length of the incoming content. It can
be longer than before, but the content-length header will not be
changed, so some data will be missing.

2. If the POST data are sent per chunked encoding, there is no
content-length header at all.

Peter

Reply via email to