docs: def _extrn_path(self, url, saltenv, cachedir=None):
          '''
          Return the extrn_filepath for a given url
          '''
          url_data = urlparse(url)
          if salt.utils.platform.is_windows():
              netloc = salt.utils.path.sanitize_win_path(url_data.netloc)
          else:
              netloc = url_data.netloc
  
          # Strip user:pass from URLs
          netloc = netloc.split('@')[-1]
  
          if cachedir is None:
              cachedir = self.opts['cachedir']
          elif not os.path.isabs(cachedir):
              cachedir = os.path.join(self.opts['cachedir'], cachedir)
  
          if url_data.query:
              file_name = '-'.join([url_data.path, url_data.query])
          else:
              file_name = url_data.path
  
          if len(file_name) > MAX_FILENAME_LENGTH:
              file_name = salt.utils.hashutils.sha256_digest(file_name)
  
          return salt.utils.path.join(
              cachedir,
              'extrn_files',
              saltenv,
              netloc,
              file_name
          )