From 82c007715f2c9a11594d74838123cb2693bca1b5 Mon Sep 17 00:00:00 2001 From: Adrian Gallagher Date: Sun, 15 Mar 2015 19:10:17 +1100 Subject: [PATCH] Added common JSON decode function. --- common.go | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/common.go b/common.go index 5f4d7ab7..c10bbd19 100644 --- a/common.go +++ b/common.go @@ -157,7 +157,6 @@ func SendHTTPGetRequest(url string, jsonDecode bool, result interface{}) (err er res, err := http.Get(url) if err != nil { - log.Println(err) return err } @@ -166,18 +165,32 @@ func SendHTTPGetRequest(url string, jsonDecode bool, result interface{}) (err er return errors.New("Status code was not 200.") } - contents, _ := ioutil.ReadAll(res.Body) - //log.Printf("Recieved raw: %s\n", string(contents)) + contents, err := ioutil.ReadAll(res.Body) + + if err != nil { + return err + } + defer res.Body.Close() if jsonDecode { - err := json.Unmarshal(contents, &result) + err := JSONDecode(contents, &result) if err != nil { - return errors.New("Unable to JSON decode body.") + return err } } else { - result = contents + result = &contents + } + + return nil +} + +func JSONDecode(data []byte, to interface{}) (error) { + err := json.Unmarshal(data, &to) + + if err != nil { + return err } return nil