summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2021-09-27 11:30:49 +0200
committerMartin Polden <mpolden@mpolden.no>2021-09-27 11:43:10 +0200
commit1c1bc4e32a476af71148acf4c015a1ac9bcd88e3 (patch)
treec89e049aede3042f44904d5fcd834d2b939c4e70 /client
parent31c371ef3253f6960fca04ace5b1e87f244a2a12 (diff)
Do not wait on unauthorized request
Diffstat (limited to 'client')
-rw-r--r--client/go/vespa/target.go15
1 files changed, 11 insertions, 4 deletions
diff --git a/client/go/vespa/target.go b/client/go/vespa/target.go
index 48226863670..86b4e184bdc 100644
--- a/client/go/vespa/target.go
+++ b/client/go/vespa/target.go
@@ -239,8 +239,8 @@ func (t *cloudTarget) waitForRun(signer *RequestSigner, runID int64, timeout tim
return req
}
jobSuccessFunc := func(status int, response []byte) (bool, error) {
- if status/100 != 2 {
- return false, nil
+ if ok, err := isOK(status); !ok {
+ return ok, err
}
var resp jobResponse
if err := json.Unmarshal(response, &resp); err != nil {
@@ -297,8 +297,8 @@ func (t *cloudTarget) discoverEndpoints(signer *RequestSigner, timeout time.Dura
}
var endpointURL string
endpointFunc := func(status int, response []byte) (bool, error) {
- if status/100 != 2 {
- return false, nil
+ if ok, err := isOK(status); !ok {
+ return ok, err
}
var resp deploymentResponse
if err := json.Unmarshal(response, &resp); err != nil {
@@ -321,6 +321,13 @@ func (t *cloudTarget) discoverEndpoints(signer *RequestSigner, timeout time.Dura
return nil
}
+func isOK(status int) (bool, error) {
+ if status == 401 {
+ return false, fmt.Errorf("status %d: invalid api key", status)
+ }
+ return status/100 == 2, nil
+}
+
// LocalTarget creates a target for a Vespa platform running locally.
func LocalTarget() Target {
return &customTarget{targetType: localTargetType, baseURL: "http://127.0.0.1"}