Skip to content

Commit d8ae200

Browse files
fix(limitRequest): check for ErrAPIMismatch (#71)
1 parent 2ce1908 commit d8ae200

9 files changed

Lines changed: 45 additions & 45 deletions

File tree

apps/apps.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,18 @@ var ErrNoLogs = errors.New(
2323

2424
// List lists apps on a Deis controller.
2525
func List(c *deis.Client, results int) (api.Apps, int, error) {
26-
body, count, err := c.LimitedRequest("/v2/apps/", results)
26+
body, count, reqErr := c.LimitedRequest("/v2/apps/", results)
2727

28-
if err != nil {
29-
return []api.App{}, -1, err
28+
if reqErr != nil && !deis.IsErrAPIMismatch(reqErr) {
29+
return []api.App{}, -1, reqErr
3030
}
3131

3232
var apps []api.App
33-
if err = json.Unmarshal([]byte(body), &apps); err != nil {
33+
if err := json.Unmarshal([]byte(body), &apps); err != nil {
3434
return []api.App{}, -1, err
3535
}
3636

37-
return apps, count, nil
37+
return apps, count, reqErr
3838
}
3939

4040
// New creates a new app with the given appID. Passing an empty string will result in

builds/builds.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,18 @@ import (
1414
// List lists an app's builds.
1515
func List(c *deis.Client, appID string, results int) ([]api.Build, int, error) {
1616
u := fmt.Sprintf("/v2/apps/%s/builds/", appID)
17-
body, count, err := c.LimitedRequest(u, results)
17+
body, count, reqErr := c.LimitedRequest(u, results)
1818

19-
if err != nil {
20-
return []api.Build{}, -1, err
19+
if reqErr != nil && !deis.IsErrAPIMismatch(reqErr) {
20+
return []api.Build{}, -1, reqErr
2121
}
2222

2323
var builds []api.Build
24-
if err = json.Unmarshal([]byte(body), &builds); err != nil {
24+
if err := json.Unmarshal([]byte(body), &builds); err != nil {
2525
return []api.Build{}, -1, err
2626
}
2727

28-
return builds, count, nil
28+
return builds, count, reqErr
2929
}
3030

3131
// New creates a build for an app from an docker image.

certs/certs.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ import (
1313

1414
// List lists certificates added to deis.
1515
func List(c *deis.Client, results int) ([]api.Cert, int, error) {
16-
body, count, err := c.LimitedRequest("/v2/certs/", results)
16+
body, count, reqErr := c.LimitedRequest("/v2/certs/", results)
1717

18-
if err != nil {
19-
return []api.Cert{}, -1, err
18+
if reqErr != nil && !deis.IsErrAPIMismatch(reqErr) {
19+
return []api.Cert{}, -1, reqErr
2020
}
2121

2222
var res []api.Cert
23-
if err = json.Unmarshal([]byte(body), &res); err != nil {
23+
if err := json.Unmarshal([]byte(body), &res); err != nil {
2424
return []api.Cert{}, -1, err
2525
}
2626

27-
return res, count, nil
27+
return res, count, reqErr
2828
}
2929

3030
// New creates a new certificate.

domains/domains.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,18 @@ import (
1414
// List domains registered with an app.
1515
func List(c *deis.Client, appID string, results int) (api.Domains, int, error) {
1616
u := fmt.Sprintf("/v2/apps/%s/domains/", appID)
17-
body, count, err := c.LimitedRequest(u, results)
17+
body, count, reqErr := c.LimitedRequest(u, results)
1818

19-
if err != nil {
20-
return []api.Domain{}, -1, err
19+
if reqErr != nil && !deis.IsErrAPIMismatch(reqErr) {
20+
return []api.Domain{}, -1, reqErr
2121
}
2222

2323
var domains []api.Domain
24-
if err = json.Unmarshal([]byte(body), &domains); err != nil {
24+
if err := json.Unmarshal([]byte(body), &domains); err != nil {
2525
return []api.Domain{}, -1, err
2626
}
2727

28-
return domains, count, nil
28+
return domains, count, reqErr
2929
}
3030

3131
// New adds a domain to an app.

keys/keys.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ import (
1313

1414
// List lists a user's ssh keys.
1515
func List(c *deis.Client, results int) (api.Keys, int, error) {
16-
body, count, err := c.LimitedRequest("/v2/keys/", results)
16+
body, count, reqErr := c.LimitedRequest("/v2/keys/", results)
1717

18-
if err != nil {
19-
return []api.Key{}, -1, err
18+
if reqErr != nil && !deis.IsErrAPIMismatch(reqErr) {
19+
return []api.Key{}, -1, reqErr
2020
}
2121

2222
var keys []api.Key
23-
if err = json.Unmarshal([]byte(body), &keys); err != nil {
23+
if err := json.Unmarshal([]byte(body), &keys); err != nil {
2424
return []api.Key{}, -1, err
2525
}
2626

27-
return keys, count, nil
27+
return keys, count, reqErr
2828
}
2929

3030
// New adds a new ssh key for the user. This is used for authenting with the git

perms/perms.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@ func List(c *deis.Client, appID string) ([]string, error) {
3333

3434
// ListAdmins lists deis platform administrators.
3535
func ListAdmins(c *deis.Client, results int) ([]string, int, error) {
36-
body, count, err := c.LimitedRequest("/v2/admin/perms/", results)
36+
body, count, reqErr := c.LimitedRequest("/v2/admin/perms/", results)
3737

38-
if err != nil {
39-
return []string{}, -1, err
38+
if reqErr != nil && !deis.IsErrAPIMismatch(reqErr) {
39+
return []string{}, -1, reqErr
4040
}
4141

4242
var users []api.PermsRequest
43-
if err = json.Unmarshal([]byte(body), &users); err != nil {
43+
if err := json.Unmarshal([]byte(body), &users); err != nil {
4444
return []string{}, -1, err
4545
}
4646

@@ -50,7 +50,7 @@ func ListAdmins(c *deis.Client, results int) ([]string, int, error) {
5050
usersList = append(usersList, user.Username)
5151
}
5252

53-
return usersList, count, nil
53+
return usersList, count, reqErr
5454
}
5555

5656
// New gives a user access to an app.

ps/ps.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ import (
1414
// List lists an app's processes.
1515
func List(c *deis.Client, appID string, results int) ([]api.Pods, int, error) {
1616
u := fmt.Sprintf("/v2/apps/%s/pods/", appID)
17-
body, count, err := c.LimitedRequest(u, results)
18-
if err != nil {
19-
return []api.Pods{}, -1, err
17+
body, count, reqErr := c.LimitedRequest(u, results)
18+
if reqErr != nil && !deis.IsErrAPIMismatch(reqErr) {
19+
return []api.Pods{}, -1, reqErr
2020
}
2121

2222
var procs []api.Pods
23-
if err = json.Unmarshal([]byte(body), &procs); err != nil {
23+
if err := json.Unmarshal([]byte(body), &procs); err != nil {
2424
return []api.Pods{}, -1, err
2525
}
2626

27-
return procs, count, nil
27+
return procs, count, reqErr
2828
}
2929

3030
// Scale increases or decreases an app's processes. The processes are specified in the target argument,

releases/releases.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,18 @@ import (
1515
func List(c *deis.Client, appID string, results int) ([]api.Release, int, error) {
1616
u := fmt.Sprintf("/v2/apps/%s/releases/", appID)
1717

18-
body, count, err := c.LimitedRequest(u, results)
18+
body, count, reqErr := c.LimitedRequest(u, results)
1919

20-
if err != nil {
21-
return []api.Release{}, -1, err
20+
if reqErr != nil && !deis.IsErrAPIMismatch(reqErr) {
21+
return []api.Release{}, -1, reqErr
2222
}
2323

2424
var releases []api.Release
25-
if err = json.Unmarshal([]byte(body), &releases); err != nil {
25+
if err := json.Unmarshal([]byte(body), &releases); err != nil {
2626
return []api.Release{}, -1, err
2727
}
2828

29-
return releases, count, nil
29+
return releases, count, reqErr
3030
}
3131

3232
// Get retrieves a release of an app.

users/users.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ import (
1010

1111
// List lists users registered with the controller.
1212
func List(c *deis.Client, results int) (api.Users, int, error) {
13-
body, count, err := c.LimitedRequest("/v2/users/", results)
13+
body, count, reqErr := c.LimitedRequest("/v2/users/", results)
1414

15-
if err != nil {
16-
return []api.User{}, -1, err
15+
if reqErr != nil && !deis.IsErrAPIMismatch(reqErr) {
16+
return []api.User{}, -1, reqErr
1717
}
1818

1919
var users []api.User
20-
if err = json.Unmarshal([]byte(body), &users); err != nil {
20+
if err := json.Unmarshal([]byte(body), &users); err != nil {
2121
return []api.User{}, -1, err
2222
}
2323

24-
return users, count, nil
24+
return users, count, reqErr
2525
}

0 commit comments

Comments
 (0)