Re: Help with request data

[prev] [thread] [next] [Date index for 2005/04/22]

From: Geoffrey Young
Subject: Re: Help with request data
Date: 14:30 on 22 Apr 2005

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

Help with request data
Dermot Paikkos 14:13 on 22 Apr 2005

Re: Help with request data
Geoffrey Young 14:30 on 22 Apr 2005

Re: Help with request data
Dermot Paikkos 14:51 on 22 Apr 2005

Re: Help with request data
JH Foo 16:25 on 22 Apr 2005

Re: Help with request data
Dermot Paikkos 16:25 on 22 Apr 2005

Re: Help with request data
Markus Wichitill 16:36 on 22 Apr 2005

Re: Help with request data
Dermot Paikkos 16:39 on 22 Apr 2005

Generated at 09:30 on 27 Apr 2005 by mariachi v0.52