'Download the data for this asset.
:param path: (optional), path where the file should be saved
to, default is the filename provided in the headers and will be
written in the current directory.
it can take a file-like object as well
:type path: str, file
:returns: name of the file, if successful otherwise ``None``
:rtype: str'

def download(self, path=u''):

    headers = {u'Accept': u'application/octet-stream'}
    resp = self._get(self._api, allow_redirects=False, stream=True, headers=headers)
    if (resp.status_code == 302):
        headers.update({u'Content-Type': None})
        with self.session.no_auth():
            resp = self._get(resp.headers[u'location'], stream=True, headers=headers)
    if self._boolean(resp, 200, 404):
        return utils.stream_response_to_file(resp, path)
    return None
