diff options
author | Martin Polden <mpolden@mpolden.no> | 2021-09-27 11:30:49 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2021-09-27 11:43:10 +0200 |
commit | 1c1bc4e32a476af71148acf4c015a1ac9bcd88e3 (patch) | |
tree | c89e049aede3042f44904d5fcd834d2b939c4e70 /client | |
parent | 31c371ef3253f6960fca04ace5b1e87f244a2a12 (diff) |
Do not wait on unauthorized request
Diffstat (limited to 'client')
-rw-r--r-- | client/go/vespa/target.go | 15 |
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"} |