code: func (o *httpOps) AscRemoteFetcher() *remoteAscFetcher {
  	ensureLogger(o.Debug)
  	f := func(u *url.URL, file *os.File) error {
  		switch u.Scheme {
  		case "http", "https":
  		default:
  			return fmt.Errorf("invalid signature location: expected %q scheme, got %q", "http(s)", u.Scheme)
  		}
  		session := o.getSession(u, file, "signature", "")
  		dl := o.getDownloader(session)
  		err := dl.Download(u, file)
  		if err != nil {
  			return err
  		}
  		if session.Cd.UseCached {
  			return fmt.Errorf("unexpected cache reuse request for signature %q", u.String())
  		}
  		return nil
  	}
  	return &remoteAscFetcher{
  		F: f,
  		S: o.S,
  	}
  }
docs: // AscRemoteFetcher provides a remoteAscFetcher for asc.