Esempio n. 1
0
    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