code: def data_and_files(self, data=True, files=True, stream=None):
          
          if self.method in ENCODE_URL_METHODS:
              value = {}, None
          else:
              value = self.cache.get('data_and_files')
  
          if not value:
              return self._data_and_files(data, files, stream)
          elif data and files:
              return value
          elif data:
              return value[0]
          elif files:
              return value[1]
          else:
              return None
docs: Retrieve body data.
  
          Returns a two-elements tuple of a
          :class:`~.MultiValueDict` containing data from
          the request body, and data from uploaded files.
  
          If the body data is not ready, return a :class:`~asyncio.Future`
          which results in the tuple.
  
          The result is cached.