From b6b3d837174dfe8412fd473fcebd2a61ae4c5905 Mon Sep 17 00:00:00 2001 From: Asim Aslam Date: Fri, 27 Aug 2021 12:45:35 +0100 Subject: [PATCH] add api package --- pkg/api/api.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 pkg/api/api.go diff --git a/pkg/api/api.go b/pkg/api/api.go new file mode 100644 index 0000000..acf8e18 --- /dev/null +++ b/pkg/api/api.go @@ -0,0 +1,28 @@ +// Package api is a helper for calling external third party apis +package api + +import ( + "fmt" + "net/http" + "encoding/json" + "io/ioutil" +) + +func Get(url string, rsp interface{}) error { + resp, err := http.Get(url) + if err != nil { + return err + } + defer resp.Body.Close() + + b, err := ioutil.ReadAll(resp.Body) + if err != nil { + return err + } + + if resp.StatusCode != 200 { + return fmt.Errorf("Non 200 response %v: %v", resp.StatusCode, string(b)) + } + + return json.Unmarshal(b, rsp) +}