summaryrefslogtreecommitdiff
path: root/go/internal/gitlabnet/discover/client.go
diff options
context:
space:
mode:
authorBob Van Landuyt <bob@vanlanduyt.co>2019-03-14 14:01:42 +0100
committerBob Van Landuyt <bob@vanlanduyt.co>2019-03-15 18:03:35 +0100
commit83c0f18e1de04b3bad9c424084e738e911c47336 (patch)
tree22d69b9450693bb153e58dbe8b7cd6feb3f8e1e0 /go/internal/gitlabnet/discover/client.go
parent53511f3655a5eed9976164fbd88d14df3490000c (diff)
downloadgitlab-shell-83c0f18e1de04b3bad9c424084e738e911c47336.tar.gz
Wrap Stderr & Stdout in a reporter struct
The reporter struct can be used for passing around and reporting to the io.Writer of choice.
Diffstat (limited to 'go/internal/gitlabnet/discover/client.go')
-rw-r--r--go/internal/gitlabnet/discover/client.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/go/internal/gitlabnet/discover/client.go b/go/internal/gitlabnet/discover/client.go
index 4e65d25..8df78fb 100644
--- a/go/internal/gitlabnet/discover/client.go
+++ b/go/internal/gitlabnet/discover/client.go
@@ -45,7 +45,6 @@ func (c *Client) GetByUsername(username string) (*Response, error) {
}
func (c *Client) parseResponse(resp *http.Response) (*Response, error) {
- defer resp.Body.Close()
parsedResponse := &Response{}
if err := json.NewDecoder(resp.Body).Decode(parsedResponse); err != nil {
@@ -53,7 +52,6 @@ func (c *Client) parseResponse(resp *http.Response) (*Response, error) {
} else {
return parsedResponse, nil
}
-
}
func (c *Client) getResponse(params url.Values) (*Response, error) {
@@ -64,7 +62,13 @@ func (c *Client) getResponse(params url.Values) (*Response, error) {
return nil, err
}
- return c.parseResponse(response)
+ defer response.Body.Close()
+ parsedResponse, err := c.parseResponse(response)
+ if err != nil {
+ return nil, fmt.Errorf("Parsing failed")
+ }
+
+ return parsedResponse, nil
}
func (r *Response) IsAnonymous() bool {