28 lines
712 B
Python
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())
|
|
|