def get_session_info(self, request: foundation.Request) -> (str, str): if hasattr(request, '_session_id'): id = request._session_id hash = request._session_hash else: cn = self.cookie_name if cn in request.cookies and \ request.cookies[cn][8:] == self.make_hash( request.cookies[cn][:8]): id = request.cookies[self.cookie_name][:8] hash = request.cookies[self.cookie_name][8:] else: id = self.generate_id() hash = self.make_hash(id) request._session_id = id request._session_hash = hash return id, hash