code: def get_document(self, doc_url, force_download=False):
          
          doc_url = str(doc_url)
          if (self.use_cache and
                  not force_download and
                  self.cache.has_document(doc_url)):
              doc_data = self.cache.get_document(doc_url)
          else:
              doc_data = self.api_request(doc_url, raw=True)
              if self.update_cache:
                  self.cache.add_document(doc_url, doc_data)
  
          return doc_data
docs: Retrieve the data for the given document from the server
  
          :type doc_url: String or Document
          :param doc_url: the URL of the document, or a Document object
          :type force_download: Boolean
          :param force_download: True to download from the server
              regardless of the cache's contents
  
          :rtype: String
          :returns: the document data
  
          :raises: APIError if the API request is not successful