summaryrefslogtreecommitdiff
path: root/go/internal/gitlabnet/client.go
diff options
context:
space:
mode:
authorNick Thomas <nick@gitlab.com>2019-05-22 12:28:25 +0000
committerNick Thomas <nick@gitlab.com>2019-05-22 12:28:25 +0000
commit48142b98ca9565698632c44e72e29e22b9c923c3 (patch)
treef2d007cb411667045ffc26278d7345bf19f362e9 /go/internal/gitlabnet/client.go
parent58d8c7691ac52c00dfebe2154e793c8fccc46aa0 (diff)
parentb77a375205af394945de99c3f7318292510c3245 (diff)
downloadgitlab-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.go12
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
+}