diff options
author | Nick Thomas <nick@gitlab.com> | 2019-05-22 12:28:25 +0000 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2019-05-22 12:28:25 +0000 |
commit | 48142b98ca9565698632c44e72e29e22b9c923c3 (patch) | |
tree | f2d007cb411667045ffc26278d7345bf19f362e9 /go/internal/gitlabnet/client.go | |
parent | 58d8c7691ac52c00dfebe2154e793c8fccc46aa0 (diff) | |
parent | b77a375205af394945de99c3f7318292510c3245 (diff) | |
download | gitlab-shell-48142b98ca9565698632c44e72e29e22b9c923c3.tar.gz |
Merge branch 'id-go-refactorings' into 'master'
Refactor execution and parsing logic in Go's implementation
See merge request gitlab-org/gitlab-shell!302
Diffstat (limited to 'go/internal/gitlabnet/client.go')
-rw-r--r-- | go/internal/gitlabnet/client.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/go/internal/gitlabnet/client.go b/go/internal/gitlabnet/client.go index c0f7f97..86add04 100644 --- a/go/internal/gitlabnet/client.go +++ b/go/internal/gitlabnet/client.go @@ -17,6 +17,10 @@ const ( secretHeaderName = "Gitlab-Shared-Secret" ) +var ( + ParsingError = fmt.Errorf("Parsing failed") +) + type ErrorResponse struct { Message string `json:"message"` } @@ -120,3 +124,11 @@ func (c *GitlabClient) doRequest(method, path string, data interface{}) (*http.R return response, nil } + +func ParseJSON(hr *http.Response, response interface{}) error { + if err := json.NewDecoder(hr.Body).Decode(response); err != nil { + return ParsingError + } + + return nil +} |