summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2023-05-08 15:43:09 +0200
committerMartin Polden <mpolden@mpolden.no>2023-05-08 15:52:52 +0200
commitdd020e58a51b85fca61bc0f49332e7983c559a13 (patch)
tree7ac1685cc7e1c515537d6eacb0d462b820c786f4 /client
parent3483140822fb176f4e22fa753cbbc6bc91445a62 (diff)
Avoid string to []byte conversion
Diffstat (limited to 'client')
-rw-r--r--client/go/internal/vespa/document/http.go10
1 files changed, 6 insertions, 4 deletions
diff --git a/client/go/internal/vespa/document/http.go b/client/go/internal/vespa/document/http.go
index 1de44641320..e58f0f0fd3d 100644
--- a/client/go/internal/vespa/document/http.go
+++ b/client/go/internal/vespa/document/http.go
@@ -25,9 +25,11 @@ const (
CompressionAuto Compression = iota
CompressionNone
CompressionGzip
+)
- fieldsPrefix = `{"fields":`
- fieldsSuffix = "}"
+var (
+ fieldsPrefix = []byte(`{"fields":`)
+ fieldsSuffix = []byte("}")
)
// Client represents a HTTP client for the /document/v1/ API.
@@ -184,9 +186,9 @@ func (c *Client) buffer() *bytes.Buffer {
func (c *Client) createRequest(method, url string, body []byte) (*http.Request, error) {
// include the outer object expected by /document/v1/ without copying the body
r := io.MultiReader(
- strings.NewReader(fieldsPrefix),
+ bytes.NewReader(fieldsPrefix),
bytes.NewReader(body),
- strings.NewReader(fieldsSuffix),
+ bytes.NewReader(fieldsSuffix),
)
contentLength := int64(len(fieldsPrefix) + len(body) + len(fieldsSuffix))
useGzip := c.options.Compression == CompressionGzip || (c.options.Compression == CompressionAuto && len(body) > 512)