diff options
author | Jon Bratseth <bratseth@gmail.com> | 2023-01-03 21:39:34 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-03 21:39:34 +0100 |
commit | 76cd523c8377c24029c3eac337be5e6a72176d07 (patch) | |
tree | 5ae326631b62389be0e92160df304b9729f0bfa6 /client | |
parent | 63863063bc77909383fda6a9827b1dae4f8833e5 (diff) | |
parent | dd4283c38200754a9534c5852ba839c7a0e6b613 (diff) |
Merge pull request #25372 from vespa-engine/mpolden/improve-error
Check JSON unmarshal error
Diffstat (limited to 'client')
-rw-r--r-- | client/go/cmd/document.go | 2 | ||||
-rw-r--r-- | client/go/vespa/document.go | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/client/go/cmd/document.go b/client/go/cmd/document.go index b2f71121d1a..9fe1492fed9 100644 --- a/client/go/cmd/document.go +++ b/client/go/cmd/document.go @@ -200,7 +200,7 @@ func printResult(cli *CLI, result util.OperationResult, payloadOnlyOnSuccess boo if !result.Success { fmt.Fprintln(out, color.RedString("Error:"), result.Message) - } else if !(payloadOnlyOnSuccess && result.Payload != "") { + } else if !payloadOnlyOnSuccess || result.Payload == "" { fmt.Fprintln(out, color.GreenString("Success:"), result.Message) } diff --git a/client/go/vespa/document.go b/client/go/vespa/document.go index e08208eba6d..e8620c59033 100644 --- a/client/go/vespa/document.go +++ b/client/go/vespa/document.go @@ -7,6 +7,7 @@ package vespa import ( "bytes" "encoding/json" + "fmt" "io" "net/http" "net/url" @@ -70,7 +71,9 @@ func sendOperation(documentId string, jsonFile string, service *Service, operati } var doc map[string]interface{} - json.Unmarshal(documentData, &doc) + if err := json.Unmarshal(documentData, &doc); err != nil { + return util.Failure(fmt.Sprintf("Document is not valid JSON: %s", err)) + } operationInFile := operationIn(doc) if operation == anyOperation { // Operation is decided by file content |