From 837e82975b87fbbee066275ac066874e0fff1a18 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Thu, 2 Jan 2020 18:27:06 +0200 Subject: Refactor: add helper function get_raw --- ickadmin.go | 40 +++++++++++++--------------------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/ickadmin.go b/ickadmin.go index ecc97c2..fd2e113 100644 --- a/ickadmin.go +++ b/ickadmin.go @@ -136,35 +136,27 @@ func get_access_token(cfg *config) (string, error) { func get_projects(cfg *config, token string) (*projects, error) { url := fmt.Sprintf("%s/projects", cfg.idp) - - client := &http.Client{} - req, err := http.NewRequest("GET", url, nil) - req.Header.Add("Authorization", fmt.Sprintf("bearer %s", token)) - - resp, err := client.Do(req) - if err != nil { - fmt.Fprintf(os.Stderr, "GET %s: %v\n", url, err) - return nil, err - } - - bodyText, err := ioutil.ReadAll(resp.Body) + body, err := get_raw(url, token) if err != nil { - fmt.Fprintf(os.Stderr, "reading HTTP response: %v\n", err) return nil, err } - -// s := string(bodyText) -// fmt.Printf("%v", s) - res := projects{} - json.Unmarshal(bodyText, &res) - + json.Unmarshal(body, &res) return &res, nil } func get_builds(cfg *config, token string) (*builds, error) { url := fmt.Sprintf("%s/builds", cfg.idp) + body, err := get_raw(url, token) + if err != nil { + return nil, err + } + res := builds{} + json.Unmarshal(body, &res) + return &res, nil +} +func get_raw(url string, token string) ([]byte, error) { client := &http.Client{} req, err := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", fmt.Sprintf("bearer %s", token)) @@ -175,17 +167,11 @@ func get_builds(cfg *config, token string) (*builds, error) { return nil, err } - bodyText, err := ioutil.ReadAll(resp.Body) + body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Fprintf(os.Stderr, "reading HTTP response: %v\n", err) return nil, err } -// s := string(bodyText) -// fmt.Printf("%v", s) - - res := builds{} - json.Unmarshal(bodyText, &res) - - return &res, nil + return body, nil } -- cgit v1.2.1