code: def detect_source(uri, verify_ssl, progress, timeout=5):
      
  
      # TODO: should also supporte other schemes, like file://, sqlite:// etc.
  
      if uri.lower().startswith("http://") or uri.lower().startswith("https://"):
          return download_file(
              uri, verify_ssl=verify_ssl, timeout=timeout, progress=progress, detect=True
          )
  
      elif uri.startswith("postgres://"):
          return Source(
              should_delete=False,
              encoding=None,
              plugin_name="postgresql",
              uri=uri,
              is_file=False,
              local=None,
          )
      else:
          return local_file(uri)
docs: Return a `rows.Source` with information for a given URI
  
      If URI starts with "http" or "https" the file will be downloaded.
  
      This function should only be used if the URI already exists because it's
      going to download/open the file to detect its encoding and MIME type.