Package muntjac :: Package terminal :: Package gwt :: Package server :: Module gae_application_servlet
[hide private]
[frames] | no frames]

Source Code for Module muntjac.terminal.gwt.server.gae_application_servlet

 1   
 2  from gaesessions import get_current_session 
 3   
 4  from muntjac.terminal.gwt.server.application_servlet import ApplicationServlet 
 5   
 6  from muntjac.terminal.gwt.server.abstract_application_servlet import RequestType 
 7   
 8  from muntjac.util import totalseconds 
 9   
10   
11 -class GaeApplicationServlet(ApplicationServlet):
12 13 SID = '0ce25c442d1f4fad8fb6eb44f24ff4a5e0df89e07ae97a3f' 14
15 - def service(self, request, response):
16 17 requestType = self.getRequestType(request) 18 19 if requestType == RequestType.UIDL: 20 session = self.getSession(request, False) 21 22 if (session is not None) and session.is_active(): 23 # force session save each request 24 reqs = session.get('uidl_reqs', 0) 25 session['uidl_reqs'] = reqs + 1 26 27 super(GaeApplicationServlet, self).service(request, response)
28 29
30 - def getSession(self, request, allowSessionCreation=True):
31 if allowSessionCreation: 32 return get_current_session() 33 else: 34 s = get_current_session() 35 if s.is_active(): 36 return s 37 else: 38 return None
39 40
41 - def invalidateSession(self, request):
42 session = self.getSession(request) 43 session.terminate()
44 45
46 - def getSessionId(self, request):
47 sid = get_current_session().sid 48 return sid
49 50
51 - def getSessionAttribute(self, session, name, default=None):
52 return session.get(name, default)
53 54
55 - def setSessionAttribute(self, session, name, value):
56 session[name] = value
57 58
59 - def getMaxInactiveInterval(self, session):
60 if session.lifetime is not None: 61 return int( totalseconds(session.lifetime) ) 62 else: 63 return self._timeout
64 65
66 - def isSessionNew(self, session):
67 raise NotImplementedError
68