def open_session(self, app, request):
     sid = request.cookies.get(app.session_cookie_name)
     if sid:
         _stored_session = Session.filter(sid=sid)
         if _stored_session:
             stored_session = _stored_session.first()
             if stored_session.expiration > datetime.utcnow():
                 return CassandraSession(initial=json.loads(stored_session.data),
                   sid = stored_session.sid);
     sid = str(uuid4())
     return CassandraSession(sid=sid)
 def save_session(self, app, session, response):
     domain = self.get_cookie_domain(app)
     if not session:
         response.delete_cookie(app.session_cookie_name, domain=domain)
         return
     if self.get_expiration_time(app, session):
         expiration = self.get_expiration_time(app, session)
     else:
         expiration = datetime.utcnow() + timedelta(minutes=self.session_timeout)
     _session = Session.filter(sid=session.sid).ttl(self.session_timeout*60).update(data=json.dumps(session), expiration=expiration)
     response.set_cookie(app.session_cookie_name, value=str(session.sid),
                         expires=expiration,
                         httponly=True, domain=domain)