code: func NewNOAAClient(apiURL string, config command.Config, uaaClient *uaa.Client, ui command.UI) *consumer.Consumer {
  	client := consumer.New(
  		apiURL,
  		&tls.Config{
  			InsecureSkipVerify: config.SkipSSLValidation(),
  		},
  		http.ProxyFromEnvironment,
  	)
  	client.RefreshTokenFrom(noaabridge.NewTokenRefresher(uaaClient, config))
  	client.SetMaxRetryCount(config.NOAARequestRetryCount())
  
  	noaaDebugPrinter := DebugPrinter{}
  
  	// if verbose, set debug printer on noaa client
  	verbose, location := config.Verbose()
  
  	client.SetDebugPrinter(&noaaDebugPrinter)
  
  	if verbose {
  		noaaDebugPrinter.addOutput(ui.RequestLoggerTerminalDisplay())
  	}
  	if location != nil {
  		noaaDebugPrinter.addOutput(ui.RequestLoggerFileWriter(location))
  	}
  
  	return client
  }
docs: // NewNOAAClient returns back a configured NOAA Client.