code: func (t *UnauthenticatedRateLimitedTransport) RoundTrip(req *http.Request) (*http.Response, error) {
  	if t.ClientID == "" {
  		return nil, errors.New("t.ClientID is empty")
  	}
  	if t.ClientSecret == "" {
  		return nil, errors.New("t.ClientSecret is empty")
  	}
  
  	// To set extra querystring params, we must make a copy of the Request so
  	// that we don't modify the Request we were given. This is required by the
  	// specification of http.RoundTripper.
  	//
  	// Since we are going to modify only req.URL here, we only need a deep copy
  	// of req.URL.
  	req2 := new(http.Request)
  	*req2 = *req
  	req2.URL = new(url.URL)
  	*req2.URL = *req.URL
  
  	q := req2.URL.Query()
  	q.Set("client_id", t.ClientID)
  	q.Set("client_secret", t.ClientSecret)
  	req2.URL.RawQuery = q.Encode()
  
  	// Make the HTTP request.
  	return t.transport().RoundTrip(req2)
  }
docs: // RoundTrip implements the RoundTripper interface.