On Fri, 1 Nov 2002, Sumitro Chowdhury wrote:

> Hmmmm....
> I thought POST request handling needs
> $r->read($buf,$r->headers_in->{'Content-length'})
> and GET request handling needs
> $r->args();

Sorry about that - I should have read more carefully that
you were specifically referring to POSTed data - 
    my %args = $r->Apache::args;
is for GET requests. For POST, as is described in the 
content() method of Apache::compat, for now one can use

  $r->setup_client_block;
  # return an error unless $r->should_client_block;
  my $len = $r->headers_in->get('content-length');
  my $buf;
  $r->get_client_block($buf, $len);
  my %args = map {
       s/%([0-9a-fA-F]{2})/pack("c", hex($1))/ge;
       $_;
  } split /[=&;]/, $buf, -1;

Some of the issues regarding, in particular, using the 
mod_perl-1-ish $r->args and $r->content in an array context
are discussed at
  http://perl.apache.org/docs/2.0/user/compat/compat.html
But you do have a point that life will be easier when libapreq 
is ready :)
 
-- 
best regards,
randy

Reply via email to