Re: [soaplite] can(method)
I may have misunderstood the question, but can() method has nothing
to do with SOAP::Lite. can() method (can be called as
$obj->can('method') or UNIVERSAL::can($obj => 'method')) only tells
you whether the object has a method 'method' (it actually returns
undef or a reference to the sub). It won't work with methods that are
dynamically generated unless that method was called on any object of
that type already.
To answer your access control question. I'm not sure what the context
of the suggestion you got from perl monks was, but I don't see how
->can() can help you with that. You can read more about can() method
in perlobj (try "perldoc perlobj"). Hope this helps.
Best wishes, Paul.
--- Klaus Guenter <klaus.guenter@...> wrote:
> Hi, list!
> I dont think, I'm the first to stumble over that, but where the
> do I find the can() method. Lots of methods are generated on the
> fly, AFAICS
> but no "can"
> I would like to implement access control based on hosts/uid/....
> and I dont
> want to reinvent the wheel. I got the hint at perl monks to look
> for "->can"
> and found a lot of "if $o->can(method) then do something" but no
> definition/generation of this method.
> Any hint is appreciated.
> People often find it easier to be a result of the past than a cause
> the future.
> ------------------------ Yahoo! Groups Sponsor
> Yahoo! Groups Links
> I dont think, I'm the first to stumble over that, but where the heckcan() is defined in the class UNIVERSAL, which all classes inherit from automatically. See perldoc perltoot.
> do I find the can() method. Lots of methods are generated on the fly, AFAICS
> but no "can"
- Hi, Paul && list,
Thx for all you answers ...
On Tuesday 11 May 2004 18:09, Paul Kulchenko wrote:
> UNIVERSAL::can($obj => 'method')) only tells
> you whether the object has a method 'method' (it actually returns
> undef or a reference to the sub).
I misunderstood that as a kind of access control. 'perltoot' would have been
my friend .. but still isn't that suitable to implement access control?
As Juan suggested, 'can' could be overriden and grant access (return ref ||
undef) based on some criteria. Unless I misinterpreted that, 'can' is always
used before the real work is done in SOAP::Lite.
So, the call would fail, if 'can' decides: "You cant!" and return undef.
How far am I off track? ;o)
People often find it easier to be a result of the past than a cause of