python-hserver/hserver/api/CookieSessionHandler.py

28 lines
712 B
Python

from hserver.api.SessionHandlerObject import SessionHandlerObject
import hserver.api
from simplelog import log
class CookieSessionHandler(SessionHandlerObject):
def __init__(self):
SessionHandlerObject.__init__(self)
self.CookieName = "SID"
def applySession(self,request):
log("CookieSessionHandler applies session")
self.cleanup()
if self.CookieName in request.cookies():
SID = request.cookies()[self.CookieName]
if SID in self:
s = self.getSession(SID)
request.applySession(s)
if request.session() is None:
SessionHandlerObject.applySession(self,request)
log("Sending Cookie SID={0}".format(request.session().SID()))
request.setCookie("SID",request.session().SID())