aboutsummaryrefslogtreecommitdiffstats
path: root/kube2consul/src/kube2consul/util/restclient/restclient.go
blob: e01ae0f86ffe8e802d7a19f029451103b8c7e991 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package restclient

import (
	"fmt"
	"io/ioutil"
	"net/http"
)

type RESTClient struct {
	base     string
	resource string
	param    string
}

func NewRESTClient(baseURL string, versionedAPIPath string, urlParameter string) *RESTClient {
	return &RESTClient{
		base:     baseURL,
		resource: versionedAPIPath,
		param:    urlParameter,
	}
}

func (c *RESTClient) Get() (b []byte, err error) {
	url := c.base + "/" + c.resource + "/" + c.param
	res, err := http.Get(url)
	if err != nil {
		return nil, err
	}

	if res.StatusCode != 200 {
		return nil, fmt.Errorf(res.Status)
	}

	buf, err := ioutil.ReadAll(res.Body)
	res.Body.Close()

	if err != nil {
		return nil, err
	}

	return buf, nil
}