commit - 60c115fb1c7683cea9553380eddaeb0033dd17bf
commit + 6d1ce85e966615f3886d8a2431b3e859d3008db6
blob - 3707d01283233e4cd393c9b40e7c60481a44f64a
blob + c1f083d5684fb65b0b47c15e9cd22f27e66ae76c
--- http.go
+++ http.go
return req, nil
}
-func (c *Client) get(path string) (*http.Response, error) {
- url := "https://" + c.addr + versionPrefix + path
- req, err := NewRequest(http.MethodGet, url, c.username, c.password, nil)
- if err != nil {
- return nil, err
- }
- return c.Do(req)
-}
-
-func (c *Client) getFilter(path, filter string) (*http.Response, error) {
+func (c *Client) get(path, filter string) (*http.Response, error) {
u, err := url.Parse("https://" + c.addr + versionPrefix + path)
if err != nil {
return nil, err
}
- v := url.Values{}
- v.Set("filter", filter)
- u.RawQuery = v.Encode()
+ if filter != "" {
+ v := url.Values{}
+ v.Set("filter", filter)
+ u.RawQuery = v.Encode()
+ }
req, err := NewRequest(http.MethodGet, u.String(), c.username, c.password, nil)
if err != nil {
return nil, err
blob - 48e63b7551f4a6a4cc152c7f1718598485dade49
blob + 3e46109beb4e68f5866bb6e6edfe76e495207a58
--- icinga.go
+++ icinga.go
}
func (c *Client) Permissions() (response, error) {
- resp, err := c.get("")
+ resp, err := c.get("", "")
if err != nil {
return response{}, err
}
blob - 9d5a0c2381a0143335a58d3df926952fba06f30b
blob + 43a5c780fceabdefc8a7482d3f3f92244511a925
--- object.go
+++ object.go
}
func (c *Client) filterObjects(objpath, expr string) ([]object, error) {
- var resp *http.Response
- var err error
- if expr == "" {
- resp, err = c.get(objpath)
- } else {
- resp, err = c.getFilter(objpath, expr)
- if resp.StatusCode == http.StatusNotFound {
- return nil, ErrNoMatch
- }
- }
+ resp, err := c.get(objpath, expr)
if err != nil {
return nil, err
}
defer resp.Body.Close()
+ if expr != "" && resp.StatusCode == http.StatusNotFound {
+ return nil, ErrNoMatch
+
+ }
iresp, err := parseResponse(resp.Body)
if err != nil {
return nil, fmt.Errorf("parse response: %v", err)