Re: Help with request data
[prev]
[thread]
[next]
[Date index for 2005/04/22]
Dermot Paikkos wrote:
> Hi
>
> MP2 RC5
>
> I am moving from a MP1 to MP2 server and am having trouble. I have
> opted to re-write the scripts I had so I could add some more
> functions.
>
> I am struggling tring to find methods to access my form data and
> other headers. I am currently using
>
> my $form_data = $r->the_request()
>
> and split the line from there to access the form values.
>
> For other headers I am using
> my $string = $r->as_string;
> (my $user-agent) = ($string =~ /User-Agent:(.*)\sAccept/);
>
ugh! :)
> I can get to where I want but I have the feeling I am taking the long
> way to do it. The cook book I have on mod_perl doesn't cover MP2.
in this case everything is the same
use APR::Table;
use Apache2::RequestRec;
my $ua = $r->headers_in->get('User-Agent');
should do the trick. $r, headers_in(), and get() are all the same in mp1.
only the class in which they live is different.
see the manpage for Apache2::porting for some help here - if you have any
mp1 documentation and make the right calls, Apache2::porting will help tell
you which classes you need to load to make it work.
>
> Is there no direct replacement for $r->param('field_name') or
> $headers_in{'User-Agent'}? If not should I just continue as I am or
> are there better methods for getting at the request?
well, for $r->param you need libapreq2. but $r->content or $r->args should
be enough if you don't want to install libapreq2.
>
> Apologies in advance if I have missed this in the docs but I can't
> find anything obvious in the Request::* documentation. I also am a
> bit OO illiterate.
for the most part the API stemming from $r is exactly the same between mp1
and mp2. there are a few exceptions, of course, but for the stuff you'll be
using 90% of the time any source of documentation should be sufficient to
get you started.
see also ModPerl::MethodLookup, especially the command-line interface (which
will help you translate a documented method into the required class) and
preload_all_modules(), which will help get things running as you learn.
HTH
--Geoff
 |
 |
Re: Help with request data
Geoffrey Young 14:30 on 22 Apr 2005
|