aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2024-06-21 10:30:17 +0200
committerMartin Polden <mpolden@mpolden.no>2024-06-21 10:34:02 +0200
commit92fabbf4cded57e3376ac54c7fd6697692a9653b (patch)
tree3acfa690e18f6508eecd3dda2ee4fb2a5c660b89
parent12383cf7684cdf9507bdc01b49fa027e498a36d7 (diff)
Bump github.com/go-json-experiment/json
-rw-r--r--client/go/go.mod4
-rw-r--r--client/go/go.sum2
-rw-r--r--client/go/internal/vespa/document/document.go23
-rw-r--r--client/go/internal/vespa/document/document_test.go2
-rw-r--r--client/go/internal/vespa/document/http.go4
5 files changed, 18 insertions, 17 deletions
diff --git a/client/go/go.mod b/client/go/go.mod
index fec4ed3495d..27ed546cd11 100644
--- a/client/go/go.mod
+++ b/client/go/go.mod
@@ -6,8 +6,8 @@ require (
github.com/alessio/shellescape v1.4.2
github.com/briandowns/spinner v1.23.1
github.com/fatih/color v1.17.0
- // This is the most recent version compatible with Go 1.20. Upgrade when we upgrade our Go version
- github.com/go-json-experiment/json v0.0.0-20230324203220-04923b7a9528
+ // This is the most recent version compatible with Go 1.21. Upgrade when we upgrade our Go version
+ github.com/go-json-experiment/json v0.0.0-20240412061110-8868a69194fa
github.com/klauspost/compress v1.17.9
github.com/mattn/go-colorable v0.1.13
github.com/mattn/go-isatty v0.0.20
diff --git a/client/go/go.sum b/client/go/go.sum
index ea7b5890d95..1c2f791079b 100644
--- a/client/go/go.sum
+++ b/client/go/go.sum
@@ -18,6 +18,8 @@ github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
github.com/go-json-experiment/json v0.0.0-20230324203220-04923b7a9528 h1:hmpF6G+rHcypt8J6jhBH/rDUx+04Th/L61Y8uCKFb7Q=
github.com/go-json-experiment/json v0.0.0-20230324203220-04923b7a9528/go.mod h1:AHV+bpNGVGD0DCHMBhhTYtT7yeBYD9Yk92XAjB7vOgo=
+github.com/go-json-experiment/json v0.0.0-20240412061110-8868a69194fa h1:JUl7LfZewNlppx7w/82EwZ7d/N2nTXncAOeE55tI3Pk=
+github.com/go-json-experiment/json v0.0.0-20240412061110-8868a69194fa/go.mod h1:6daplAwHHGbUGib4990V3Il26O0OC4aRyvewaaAihaA=
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
diff --git a/client/go/internal/vespa/document/document.go b/client/go/internal/vespa/document/document.go
index e2a77f7b126..9c301cd7990 100644
--- a/client/go/internal/vespa/document/document.go
+++ b/client/go/internal/vespa/document/document.go
@@ -10,7 +10,6 @@ import (
"strconv"
"strings"
"sync"
-
"time"
// Why do we use an experimental parser? This appears to be the only JSON library that satisfies the following
@@ -19,7 +18,7 @@ import (
// - Supports parsing from a io.Reader
// - Supports parsing token-by-token
// - Few allocations during parsing (especially for large objects)
- "github.com/go-json-experiment/json"
+ "github.com/go-json-experiment/json/jsontext"
)
type Operation int
@@ -29,11 +28,11 @@ const (
OperationUpdate
OperationRemove
- jsonArrayStart json.Kind = '['
- jsonArrayEnd json.Kind = ']'
- jsonObjectStart json.Kind = '{'
- jsonObjectEnd json.Kind = '}'
- jsonString json.Kind = '"'
+ jsonArrayStart jsontext.Kind = '['
+ jsonArrayEnd jsontext.Kind = ']'
+ jsonObjectStart jsontext.Kind = '{'
+ jsonObjectEnd jsontext.Kind = '}'
+ jsonString jsontext.Kind = '"'
)
var (
@@ -153,7 +152,7 @@ func (d *Document) Reset() {
// Decoder decodes documents from a JSON structure which is either an array of objects, or objects separated by newline.
type Decoder struct {
- dec *json.Decoder
+ dec *jsontext.Decoder
buf bytes.Buffer
array bool
@@ -202,13 +201,13 @@ func (d *Decoder) guessMode() error {
return nil
}
-func (d *Decoder) readNext(kind json.Kind) (json.Token, error) {
+func (d *Decoder) readNext(kind jsontext.Kind) (jsontext.Token, error) {
t, err := d.dec.ReadToken()
if err != nil {
- return json.Token{}, err
+ return jsontext.Token{}, err
}
if t.Kind() != kind {
- return json.Token{}, fmt.Errorf("unexpected json kind: %q: want %q", t, kind)
+ return jsontext.Token{}, fmt.Errorf("unexpected json kind: %q: want %q", t, kind)
}
return t, nil
}
@@ -364,7 +363,7 @@ loop:
func NewDecoder(r io.Reader) *Decoder {
d := &Decoder{}
d.documentBuffers.New = func() any { return &bytes.Buffer{} }
- d.dec = json.NewDecoder(io.TeeReader(r, &d.buf))
+ d.dec = jsontext.NewDecoder(io.TeeReader(r, &d.buf))
return d
}
diff --git a/client/go/internal/vespa/document/document_test.go b/client/go/internal/vespa/document/document_test.go
index 3fcdbd3b292..50698e3f8a3 100644
--- a/client/go/internal/vespa/document/document_test.go
+++ b/client/go/internal/vespa/document/document_test.go
@@ -206,7 +206,7 @@ func TestDocumentDecoderInvalid(t *testing.T) {
t.Errorf("unexpected error: %s", err)
}
_, err = dec.Decode()
- wantErr := "invalid operation at byte offset 110: json: invalid character '\\n' within string (expecting non-control character)"
+ wantErr := "invalid operation at byte offset 110: jsontext: invalid character '\\n' within string (expecting non-control character)"
if err.Error() != wantErr {
t.Errorf("want error %q, got %q", wantErr, err.Error())
}
diff --git a/client/go/internal/vespa/document/http.go b/client/go/internal/vespa/document/http.go
index 25f292b92f7..800ac0a3887 100644
--- a/client/go/internal/vespa/document/http.go
+++ b/client/go/internal/vespa/document/http.go
@@ -3,6 +3,7 @@ package document
import (
"bytes"
+ "encoding/json"
"fmt"
"io"
"math"
@@ -15,7 +16,6 @@ import (
"sync/atomic"
"time"
- "github.com/go-json-experiment/json"
"github.com/klauspost/compress/gzip"
"github.com/vespa-engine/vespa/client/go/internal/httputil"
@@ -335,7 +335,7 @@ func (c *Client) resultWithResponse(resp *http.Response, sentBytes int, result R
} else {
if result.Success() && c.options.TraceLevel > 0 {
var jsonResponse struct {
- Trace json.RawValue `json:"trace"`
+ Trace json.RawMessage `json:"trace"`
}
if err := json.Unmarshal(buf.Bytes(), &jsonResponse); err != nil {
result = resultWithErr(result, fmt.Errorf("failed to decode json response: %w", err), elapsed)