diff options
Diffstat (limited to 'go/internal/gitlabnet/discover/client.go')
-rw-r--r-- | go/internal/gitlabnet/discover/client.go | 10 |
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 { |