(opts *CreateOptions, capiClient capi.CapiClient, sessionID string)
| 261 | } |
| 262 | |
| 263 | func followLogs(opts *CreateOptions, capiClient capi.CapiClient, sessionID string) error { |
| 264 | if err := opts.IO.StartPager(); err == nil { |
| 265 | defer opts.IO.StopPager() |
| 266 | } else { |
| 267 | fmt.Fprintf(opts.IO.ErrOut, "error starting pager: %v\n", err) |
| 268 | } |
| 269 | |
| 270 | ctx := context.Background() |
| 271 | renderer := opts.LogRenderer() |
| 272 | |
| 273 | var called bool |
| 274 | fetcher := func() ([]byte, error) { |
| 275 | if called { |
| 276 | opts.Sleep(defaultLogPollInterval) |
| 277 | } |
| 278 | called = true |
| 279 | raw, err := capiClient.GetSessionLogs(ctx, sessionID) |
| 280 | if err != nil { |
| 281 | return nil, err |
| 282 | } |
| 283 | return raw, nil |
| 284 | } |
| 285 | |
| 286 | return renderer.Follow(fetcher, opts.IO.Out, opts.IO) |
| 287 | } |
no test coverage detected