func skipStatuses()

in internal/cs/dockerengine.go [86:112]


func skipStatuses(input io.Reader, s ...string) io.Reader {
	r, w := io.Pipe()
	go func() {
		defer w.Close()
		dec := json.NewDecoder(input)
		enc := json.NewEncoder(w)
	InputLoop:
		for {
			m := jsonmessage.JSONMessage{}
			if err := dec.Decode(&m); err != nil {
				if err != io.EOF {
					log.Printf("skipStatuses: %v", err)
				}
				break
			}
			for _, skip := range s {
				if strings.Contains(m.Status, skip) {
					continue InputLoop
				}
			}
			if err := enc.Encode(m); err != nil {
				log.Printf("skipStatuses: %v", err)
			}
		}
	}()
	return r
}