code: func (t *BasicAuthTransport) RoundTrip(req *http.Request) (*http.Response, error) {
  	// To set extra headers, 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.Header here, we only need a deep copy
  	// of req.Header.
  	req2 := new(http.Request)
  	*req2 = *req
  	req2.Header = make(http.Header, len(req.Header))
  	for k, s := range req.Header {
  		req2.Header[k] = append([]string(nil), s...)
  	}
  
  	req2.SetBasicAuth(t.Username, t.Password)
  	if t.OTP != "" {
  		req2.Header.Set(headerOTP, t.OTP)
  	}
  	return t.transport().RoundTrip(req2)
  }
docs: // RoundTrip implements the RoundTripper interface.