diff options
author | Silvan Jegen <s.jegen@gmail.com> | 2017-02-15 12:35:20 +0100 |
---|---|---|
committer | Silvan Jegen <s.jegen@gmail.com> | 2017-02-15 12:35:20 +0100 |
commit | de65f7ec41ed0bfc31e0cc7a87bb04a70dc72a07 (patch) | |
tree | a68a8091cc0e851600bc650b4c565de341e53db5 | |
parent | 07e3d60146de6c5906382e378cdcb3d6a6989cd0 (diff) |
Propagate Input error
-rw-r--r-- | input/http/http.go | 3 | ||||
-rw-r--r-- | input/stdin/stdin.go | 3 | ||||
-rw-r--r-- | manager.go | 4 |
3 files changed, 6 insertions, 4 deletions
diff --git a/input/http/http.go b/input/http/http.go index 71a0340..fcac066 100644 --- a/input/http/http.go +++ b/input/http/http.go @@ -42,9 +42,8 @@ func (hi *HTTPInput) httphandler(w http.ResponseWriter, r *http.Request) { all, err := ioutil.ReadAll(r.Body) if err != nil { fmt.Printf("Error when reading HTTP request body: %q\n", err) - return } - hi.retchan <- &work.Work{Data: all} + hi.retchan <- &work.Work{Data: all, Err: err} } func (hi *HTTPInput) Start() chan *work.Work { diff --git a/input/stdin/stdin.go b/input/stdin/stdin.go index e2910ec..394b952 100644 --- a/input/stdin/stdin.go +++ b/input/stdin/stdin.go @@ -35,9 +35,8 @@ func (i *StdinInput) Start() chan *work.Work { } if err != nil { fmt.Printf("Error when reading input from Stdin: %q", err) - os.Exit(1) } - i.retchan <- &work.Work{Data: bs} + i.retchan <- &work.Work{Data: bs, Err: err} } close(i.retchan) }() @@ -21,6 +21,10 @@ func (m *Manager) Run() { ic := m.Input.Start() for w := range ic { + if w.Err != nil { + fmt.Printf("Got an error when getting Work input: %q\n", w.Err) + continue + } wg.Add(1) go func(w *work.Work) { |