diff options
author | Martin Polden <mpolden@mpolden.no> | 2023-05-08 15:43:09 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2023-05-08 15:52:52 +0200 |
commit | dd020e58a51b85fca61bc0f49332e7983c559a13 (patch) | |
tree | 7ac1685cc7e1c515537d6eacb0d462b820c786f4 /client | |
parent | 3483140822fb176f4e22fa753cbbc6bc91445a62 (diff) |
Avoid string to []byte conversion
Diffstat (limited to 'client')
-rw-r--r-- | client/go/internal/vespa/document/http.go | 10 |
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) |