summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2023-01-03 21:39:34 +0100
committerGitHub <noreply@github.com>2023-01-03 21:39:34 +0100
commit76cd523c8377c24029c3eac337be5e6a72176d07 (patch)
tree5ae326631b62389be0e92160df304b9729f0bfa6 /client
parent63863063bc77909383fda6a9827b1dae4f8833e5 (diff)
parentdd4283c38200754a9534c5852ba839c7a0e6b613 (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.go2
-rw-r--r--client/go/vespa/document.go5
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