You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by Ken Williams <ke...@forum.swarthmore.edu> on 2001/04/01 20:07:40 UTC
Re: Looking for magic in Apache->request
matt@sergeant.org (Matt Sergeant) wrote:
>On Fri, 30 Mar 2001, Ken Williams wrote:
>
>> The thing I can't figure out from the XS code is how/where
>> Apache->request calls sv2request_rec(), which actually does the
>> extraction work. Somehow it's automatically converted, because I see no
>> manual conversion in the Apache->request code below:
>>
>> void
>> request(self, r=NULL)
>> SV *self
>> Apache r
>>
>> PPCODE:
>> self = self;
>> if(items > 1) perl_request_rec(r);
>> XPUSHs(perl_bless_request_rec(perl_request_rec(NULL)));
>>
>> Any pointers?
>
>It's done in the typemap.
Dang. So that would mean that in order to fix this, Apache->request($r)
would have to accept an arbitrary scalar, not something automatically
converted to an Apache object, right?
And then there's the matter of how it should be stored...
>
>> The reason I'm asking is that the current behavior of
>> Apache->request($r) makes it really hard to subclass Apache::Registry
>> and the like, because lots of code (like CGI.pm) call Apache->request to
>> get the current request object.
>
>Yeah I have this same "bug" in AxKit. It's a real pain.
If I get some time this week I'll see whether I can make a patch. But
I'm in pretty unfamiliar territory.
------------------- -------------------
Ken Williams Last Bastion of Euclidity
ken@forum.swarthmore.edu The Math Forum
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: Looking for magic in Apache->request
Posted by Matt Sergeant <ma...@sergeant.org>.
On Sun, 1 Apr 2001, Ken Williams wrote:
> Dang. So that would mean that in order to fix this, Apache->request($r)
> would have to accept an arbitrary scalar, not something automatically
> converted to an Apache object, right?
Right.
> And then there's the matter of how it should be stored...
I have a feeling it would be pretty much impossible (because everything
in XS in mod_perl expects just an SvIV that points to the apache object),
but maybe Doug has some ideas. It *might* be possible to change the
typemap to detect whether the thing is an "Apache" or a something else,
and do something specific, but I'm kinda just pointing in the dark.
--
<Matt/>
/|| ** Founder and CTO ** ** http://axkit.com/ **
//|| ** AxKit.com Ltd ** ** XML Application Serving **
// || ** http://axkit.org ** ** XSLT, XPathScript, XSP **
// \\| // ** mod_perl news and resources: http://take23.org **
\\//
//\\
// \\
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org