Hi,
I found a similar question posted in the newsgroups
but no one seemed to have a solution. Here's what I'm
trying to do. I have a web page that does a POST to a
remote server. Basiscally, I'm trying to read the
post data and if it matches a regex, I want to
redirect it. Otherwise, I want to let the POST
continue normally (submitting to the remote server).
At the PerlTransHandler stage, I have a handler that reads the post data like so:
my $method = $r->method();
if ($method =~ /post/i) {
my $content; $r->read($content,
$r->headers_in->{'content-length'});
if ($content =~ /some_regex/){
# redirect
} else {
# continue with post
return OK;
}
}
I can capture the POST data and redirect the user just fine. The problem occurs with the submitted forms that don't match the regex. If I just return OK, the browser hangs (because the POST data has been reset?). I'll admit I'm a bit confused as to what's actually going on here (still new to mod_perl). I read you're not supposed to parse the form data except at the ContentHandler step, but since the form is submitting to a remote host, I can't really do that.
Not 100% sure what you are telling me here but why not simply use Apache::Request->instance($r).
The problem with POSTED data is that you can not read them more than once you can think of it like STDIN when read once you can not go back and read it once more.
Any ideaas?
In mp2 you could also use an input-filter for this purpose.
Thanks, Bill
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
-- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html