diff options
| author | Silvan Jegen <s.jegen@gmail.com> | 2017-02-14 14:37:12 +0100 | 
|---|---|---|
| committer | Silvan Jegen <s.jegen@gmail.com> | 2017-02-14 14:37:12 +0100 | 
| commit | 07e3d60146de6c5906382e378cdcb3d6a6989cd0 (patch) | |
| tree | 91b336dc01c4c7631a405132b935c2dd803d98e5 | |
| parent | 543eea285200c8955f42c5eb202a222105259587 (diff) | |
Change Output interface to return an error
| -rw-r--r-- | manager.go | 7 | ||||
| -rw-r--r-- | output/http/http.go | 4 | ||||
| -rw-r--r-- | output/outputinterface.go | 2 | ||||
| -rw-r--r-- | output/stdout/stdout.go | 5 | 
4 files changed, 12 insertions, 6 deletions
@@ -27,9 +27,12 @@ func (m *Manager) Run() {  			nw := m.Filter.Filter(w)  			err := nw.Error()  			if err != nil { -				fmt.Printf("Got an error when processing Work: %q\n", err) +				fmt.Printf("Got an error when filtering Work: %q\n", err) +			} +			err = m.Output.Output(nw) +			if err != nil { +				fmt.Printf("Got an error when outputting Work: %q\n", err)  			} -			m.Output.Output(nw)  			wg.Done()  		}(w) diff --git a/output/http/http.go b/output/http/http.go index 3ea603c..158f091 100644 --- a/output/http/http.go +++ b/output/http/http.go @@ -22,9 +22,11 @@ func New(kv map[string]string) output.Output {  	return &HttpOutput{url: url}  } -func (h *HttpOutput) Output(w *work.Work) { +func (h *HttpOutput) Output(w *work.Work) error {  	_, err := http.Post(h.url, "application/json", bytes.NewReader(w.Data))  	if err != nil {  		w.Err = err  	} + +	return err  } diff --git a/output/outputinterface.go b/output/outputinterface.go index 8f1137a..385fe4e 100644 --- a/output/outputinterface.go +++ b/output/outputinterface.go @@ -3,5 +3,5 @@ package output  import "github.com/Shugyousha/stasher/work"  type Output interface { -	Output(*work.Work) +	Output(*work.Work) error  } diff --git a/output/stdout/stdout.go b/output/stdout/stdout.go index 9d66581..f3e4f57 100644 --- a/output/stdout/stdout.go +++ b/output/stdout/stdout.go @@ -19,6 +19,7 @@ func New(map[string]string) output.Output {  	return &StdoutOutput{}  } -func (o *StdoutOutput) Output(w *work.Work) { -	fmt.Printf("%s\n", w.Data) +func (o *StdoutOutput) Output(w *work.Work) error { +	_, err := fmt.Printf("%s\n", w.Data) +	return err  }  | 
