From 0e90a2ae71828dabfb309bda478b5fc509e1cbe0 Mon Sep 17 00:00:00 2001 From: clsr Date: Fri, 17 Jun 2016 18:32:03 +0200 Subject: Fix error response in csv, text and gyazo output modes --- api.go | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/api.go b/api.go index 9edf618..e580bed 100644 --- a/api.go +++ b/api.go @@ -138,10 +138,14 @@ func respond(w http.ResponseWriter, mode string, resp response) { case "text", "gyazo": w.Header().Set("Content-Type", "text/plain") - sep := "" - for _, file := range resp.Files { - io.WriteString(w, sep+file.Url) - sep = "\n" + if resp.ErrorCode == 0 { + sep := "" + for _, file := range resp.Files { + io.WriteString(w, sep+file.Url) + sep = "\n" + } + } else { + io.WriteString(w, "ERROR: ("+strconv.Itoa(resp.ErrorCode)+") "+resp.Description) } if mode != "gyazo" { io.WriteString(w, "\n") @@ -150,9 +154,14 @@ func respond(w http.ResponseWriter, mode string, resp response) { case "csv": w.Header().Set("Content-Type", "text/csv") wr := csv.NewWriter(w) - wr.Write([]string{"name", "url", "hash", "size"}) - for _, file := range resp.Files { - wr.Write([]string{file.Name, file.Url, file.Hash, strconv.FormatInt(file.Size, 10)}) + if resp.ErrorCode == 0 { + wr.Write([]string{"name", "url", "hash", "size"}) + for _, file := range resp.Files { + wr.Write([]string{file.Name, file.Url, file.Hash, strconv.FormatInt(file.Size, 10)}) + } + } else { + wr.Write([]string{"error"}) + wr.Write([]string{resp.Description}) } wr.Flush() -- cgit