code: func NewConnection(skipSSLValidation bool, disableKeepAlives bool, dialTimeout time.Duration) *UAAConnection {
  	tr := &http.Transport{
  		DialContext: (&net.Dialer{
  			KeepAlive: 30 * time.Second,
  			Timeout:   dialTimeout,
  		}).DialContext,
  		DisableKeepAlives: disableKeepAlives,
  		Proxy:             http.ProxyFromEnvironment,
  		TLSClientConfig: &tls.Config{
  			InsecureSkipVerify: skipSSLValidation,
  		},
  	}
  
  	return &UAAConnection{
  		HTTPClient: &http.Client{
  			Transport: tr,
  			CheckRedirect: func(_ *http.Request, _ []*http.Request) error {
  				// This prevents redirects. When making a request to /oauth/authorize,
  				// the client should not follow redirects in order to obtain the ssh
  				// passcode.
  				return http.ErrUseLastResponse
  			},
  		},
  	}
  }
docs: // NewConnection returns a pointer to a new UAA Connection