On Mon, 08 Dec 2003 10:37:51 -0800
Stas Bekman <[EMAIL PROTECTED]> wrote:

Hi,

> Enrico Sorcinelli wrote:
> > Hi all,
> > I'm porting to mp2 this mp1 code:
> > 
> > use Apache::URI;
> > my $uri = Apache::URI->parse($r);
> > # now I can work with $uri->hostinfo, $uri->scheme, etc
> > 
> > In mp2, 'parse' method has moved from Apache::URI to APR::URI.
> > Moreover the method syntax is changed:
> > 
> > APR::URI->parse($r->pool,$uri);
> > 
> > Because I need 'hostinfo' and 'scheme' methods, I must pass a complete url
> > to APR::UR->parse (in mp1 this wasn't necessary).
> 
> Since APR::URI is a generic method, not HTTP specific, you need to pass a 
> complete URI to it.
> 
> There is parse_uri in Apache::URI that's HTTP specific, which is probably the 
> method you are after. See t/response/TestAPI/uri.pm in the mp2 source.
> 
> > So I've used APR::URI->parse($r->pool,$r->construct_url) ad docs
> > explains. However I also must require Apache::URI (maybe the doc can be
> > updated?).
> 
> You need to load Apache::URI for $r->construct_url, not for APR::URI->parse. 

Of course :-)

> So the docs need not to be updated for this issue, though I'm sure others 
> issues could be documented and improved. e.g. APR::URI::parse vs. 
> Apache::URI::parse_uri.

Thanks for the mp2 source help. I've read but it seems the the use of
$r->construct_url is alway necessary for me.

>From my point of view, the problem is that I don't know all the mp2 code and I
haven't found a specific doc about Apache::URI in mp2 docs :-)

So by using Apache::URI's parse_uri instead of APR::URI's parse, the code
becomes little more complicated:

---
use Apache::URI;
my $uri = MP2 ? eval {$r->parse_uri($r->construct_url); $uri = $r->parsed_uri} : 
Apache::URI->parse($r);
---

However, when I attemp to use $uri->hostinfo (or $uri->scheme) I have the error:

"Can't locale object method "hostinfo" via package APR::URI"

But by requiring APR::URI, all works fine ($uri seems to be an APR::URI object)

I'm missing some thing again? :-)

Thanks in advance

by

        - Enrico






-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html

Reply via email to