code: func (d *Downloader) Terminate() {
  	// Close the termination channel (make sure double close is allowed)
  	d.quitLock.Lock()
  	select {
  	case <-d.quitCh:
  	default:
  		close(d.quitCh)
  	}
  	d.quitLock.Unlock()
  
  	// Cancel any pending download requests
  	d.Cancel()
  }
docs: // Terminate interrupts the downloader, canceling all pending operations.
  // The downloader cannot be reused after calling Terminate.