1package gitlabnet
2
3import (
4	"encoding/json"
5	"fmt"
6	"net/http"
7
8	"gitlab.com/gitlab-org/gitlab-shell/client"
9
10	"gitlab.com/gitlab-org/gitlab-shell/internal/config"
11)
12
13var (
14	ParsingError = fmt.Errorf("Parsing failed")
15)
16
17func GetClient(config *config.Config) (*client.GitlabNetClient, error) {
18	httpClient, err := config.HttpClient()
19	if err != nil {
20		return nil, err
21	}
22
23	if httpClient == nil {
24		return nil, fmt.Errorf("Unsupported protocol")
25	}
26
27	return client.NewGitlabNetClient(config.HttpSettings.User, config.HttpSettings.Password, config.Secret, httpClient)
28}
29
30func ParseJSON(hr *http.Response, response interface{}) error {
31	if err := json.NewDecoder(hr.Body).Decode(response); err != nil {
32		return ParsingError
33	}
34
35	return nil
36}
37