Almacenar una instancia de una conexión – twisted.web

¿Cómo almaceno una instancia de una conexión en twisted.web? He visto request.getSession () pero busqué y hay muy pocos ejemplos de cómo se almacena y recupera más tarde.

Gracias.

Actualización: quiero almacenar la conexión ldap en una sesión para recuperarla más tarde

def render_POST(self, request): command = request.path[1:] session = request.getSession() if command == "authentication": Connect = LdapConnection(request.args['host'][0],request.args['user'][0],request.args['password'][0]) session.addComponent(LdapConnection, Connect) if command == "users": Connect = session.getComponent(LdapConnection) u = Users(Connect, request.args['name'][0],request.args['employeeNumber']) return 

    Hay muchos ejemplos en la documentación de twisted . Si prefieres un resumen rápido sobre cómo usar las sesiones .

     from twisted.web.resource import Resource class ShowSession(Resource): def render_GET(self, request): return 'Your session id is: ' + request.getSession().uid class ExpireSession(Resource): def render_GET(self, request): request.getSession().expire() return 'Your session has been expired.' resource = ShowSession() resource.putChild("expire", ExpireSession()) 

    No olvide que request.getsession () creará la sesión si aún no existe. Este tutorial explica cómo almacenar objetos en sesión .

     cache() from zope.interface import Interface, Attribute, implements from twisted.python.components import registerAdapter from twisted.web.server import Session from twisted.web.resource import Resource class ICounter(Interface): value = Attribute("An int value which counts up once per page view.") class Counter(object): implements(ICounter) def __init__(self, session): self.value = 0 registerAdapter(Counter, Session, ICounter) class CounterResource(Resource): def render_GET(self, request): session = request.getSession() counter = ICounter(session) counter.value += 1 return "Visit #%d for you!" % (counter.value,) resource = CounterResource()