func (c *NozzlerCmd) Run(cliConnection plugin.CliConnection, args []string) { var options *firehose.ClientOptions traceLogger := trace.NewLogger(os.Stdout, true, os.Getenv("CF_TRACE"), "") c.ui = terminal.NewUI(os.Stdin, os.Stdout, terminal.NewTeePrinter(os.Stdout), traceLogger) switch args[0] { case "nozzle": options = c.buildClientOptions(args) case "app-nozzle": options = c.buildClientOptions(args) appModel, err := cliConnection.GetApp(args[1]) if err != nil { c.ui.Warn(err.Error()) return } options.AppGUID = appModel.Guid default: return } dopplerEndpoint, err := cliConnection.DopplerEndpoint() if err != nil { c.ui.Failed(err.Error()) } authToken, err := cliConnection.AccessToken() if err != nil { c.ui.Failed(err.Error()) } client := firehose.NewClient(authToken, dopplerEndpoint, options, c.ui) client.Start() }