code: def compose_data(params=None, files=None):
      
      data = aiohttp.formdata.FormData(quote_fields=False)
  
      if params:
          for key, value in params.items():
              data.add_field(key, str(value))
  
      if files:
          for key, f in files.items():
              if isinstance(f, tuple):
                  if len(f) == 2:
                      filename, fileobj = f
                  else:
                      raise ValueError('Tuple must have exactly 2 elements: filename, fileobj')
              elif isinstance(f, types.InputFile):
                  filename, fileobj = f.filename, f.file
              else:
                  filename, fileobj = guess_filename(f) or key, f
  
              data.add_field(key, fileobj, filename=filename)
  
      return data
docs: Prepare request data
  
      :param params:
      :param files:
      :return: