Re: self_url MP2 w/o CGI
Tofu Optimist wrote: Hi folks -- I'm using MP2, and I am trying to avoid loading CGI for 2 reasons: (1) To save memory. (2) When I do load CGI, it fails at the require Apache (line 161), and I'd prefer not to edit CGI on my server. Uck. Given I'm not loading CGI, how can I determine self_url() in MP2? I tried something like this code my $self_uri = APR::URI-parse($r-pool, $r-uri)-unparse; $r-headers_out-set(Location = $self_uri . r2=1); return Apache::REDIRECT; /code but this gives me a partial URL, not the full expansion. $r-construct_url; From the C docs: /* Used for constructing self-referencing URLs, and things like SERVER_PORT, * and SERVER_NAME. */ /** * build a fully qualified URL from the uri and information in the request rec * @param p The pool to allocate the URL from * @param uri The path to the requested file * @param r The current request * @return A fully qualified URL * @deffunc char *ap_construct_url(apr_pool_t *p, const char *uri, request_rec *r) */ AP_DECLARE(char *) ap_construct_url(apr_pool_t *p, const char *uri, request_rec *r); __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Reporting bugs: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html
Re: self_url MP2 w/o CGI
Tofu Optimist wrote: Thanks. How do I call construct_uri? You just call $r-construct_url. In your example that would be: $r-headers_out-set(Location = $r-construct_url . r2=1); __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Reporting bugs: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html
Re: self_url MP2 w/o CGI
[please keep the thread on the list!] Tofu Optimist wrote: :( [Tue Sep 02 15:22:53 2003] [error] [client 192.168.1.2] Can't locate object method construct_url via package Apache::RequestRec at /home//mod-perl/Redirect.pm line 59. Do I need to load it or something? in mp2 you need to load modules that contain the methods that you want to use: % lookup construct_url To use method 'construct_url' add: use Apache::URI (); See: http://perl.apache.org/docs/2.0/user/porting/porting.html#Porting_a_Perl_Module_to_Run_under_mod_perl_2_0 You just call $r-construct_url. In your example that would be: $r-headers_out-set(Location = $r-construct_url . r2=1); __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Reporting bugs: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html __ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Reporting bugs: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html