INNER CODE UNIT · Go
scan
eksctl-io/eksctl · integration/main.go:163
func scan(in io.ReadCloser, err error, out io.Writer, prefix string, summaries chan []string) {
if err != nil {
log.Fatalf("%s Failed to create stdout/stderr pipe: %v", prefix, err)
}
scanner := bufio.NewScanner(in)
summary := []string{}
captureSummary := false
go func() {
for scanner.Scan() {
rawText := scanner.Text()
text := fmt.Sprintf("%s %s", prefix, rawText)
if captureSummary || enableCaptureSummary(rawText) {
captureSummary = true
summary = append(summary, text)
}
fmt.Fprintln(out, text)
}
summaries <- summary