'Read or generate the xsrf token in its raw form.
The raw_xsrf_token is a tuple containing:
* version: the version of the cookie from which this token was read,
or None if we generated a new token in this request.
* token: the raw token data; random (non-ascii) bytes.
* timestamp: the time this token was generated (will not be accurate
for version 1 cookies)'

def _get_raw_xsrf_token(self):

    if (not hasattr(self, '_raw_xsrf_token')):
        cookie = self.get_cookie('_xsrf')
        if cookie:
            (version, token, timestamp) = self._decode_xsrf_token(cookie)
        else:
            (version, token, timestamp) = (None, None, None)
        if (token is None):
            version = None
            token = os.urandom(16)
            timestamp = time.time()
        self._raw_xsrf_token = (version, token, timestamp)
    return self._raw_xsrf_token
