Hello,

I've never used Appcelerator, so I may not be able to help much, but I can 
tell you that when @Service runs the wrapped method there's no request 
available.

@ActionProtector is used with other decorators in TG2 and there's no problem 
at all, so I'd say the problem is on the @Service decorator. To confirm this, 
try the following decorator:
"""
from decorator import decorator
from pylons import request

def mydec():
    @decorator
    def wrapper(func, *args, **kwargs):
        print request.environ
        return func(*args, **kwargs)
    return wrapper
"""

Then replace @ActionProtector with @mydec:
"""
# ...
    @Service(request="app.collection.create.request",
             response="app.collection.create.response")
    @mydec()
    def create(msg, session, msgtype):
# ...
"""

Then you should get the same exception, which will mean that it's a problem in 
@Service.

Please let us know what happens.

Cheers!

On Thursday February 19, 2009 10:12:07 Iain Campbell wrote:
> Hi,
>
> I'm using repoze.what with Pylons and Appcelerator.
>
> Predicates are working fine for protecting controller actions, but
> when I try to protect an Appcelerator service, I get:
>
> TypeError: No object (name: request) has been registered for this thread
>
> There's more information and the full traceback here:
>
> http://community.appcelerator.org/message/8909#8909
>
> So, I think I've now solved this in repoze.what.plugins.pylonshq.utils:
>
> from pylons import request as req, response
> request = req._current_obj()
>
> which seems to set the request up and check the auth correctly.
>
> Being a bit of a newbie to all of this, can anyone say if there's a
> disadvantage to doing things this way? I've tested on my standard
> controller actions too and everything appears to work fine...
>
> Thanks,
>
> Iain

-- 
Gustavo Narea <http://gustavonarea.net/>.

Get rid of unethical constraints! Get freedomware:
http://www.getgnulinux.org/
_______________________________________________
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev

Reply via email to