summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/go/internal/cli/cmd/document_test.go2
-rw-r--r--client/go/internal/util/http.go13
-rw-r--r--client/go/internal/vespa/document/http.go18
-rw-r--r--client/go/internal/vespa/document/http_test.go8
-rw-r--r--searchlib/src/vespa/searchlib/expression/expressiontree.cpp19
-rw-r--r--searchlib/src/vespa/searchlib/expression/expressiontree.h2
6 files changed, 17 insertions, 45 deletions
diff --git a/client/go/internal/cli/cmd/document_test.go b/client/go/internal/cli/cmd/document_test.go
index 6e671190959..bce81da91c5 100644
--- a/client/go/internal/cli/cmd/document_test.go
+++ b/client/go/internal/cli/cmd/document_test.go
@@ -129,7 +129,7 @@ func assertDocumentSend(arguments []string, expectedOperation string, expectedMe
}
}
if verbose {
- expectedCurl := "curl -X " + expectedMethod + " -H 'Content-Type: application/json; charset=utf-8' -H 'User-Agent: Vespa CLI/0.0.0-devel'"
+ expectedCurl := "curl -X " + expectedMethod + " -H 'Content-Type: application/json; charset=utf-8'"
if expectedPayloadFile != "" {
expectedCurl += " --data-binary @" + expectedPayloadFile
}
diff --git a/client/go/internal/util/http.go b/client/go/internal/util/http.go
index 35e35b16720..26e7937028e 100644
--- a/client/go/internal/util/http.go
+++ b/client/go/internal/util/http.go
@@ -19,20 +19,17 @@ type HTTPClient interface {
}
type defaultHTTPClient struct {
- client *http.Client
- setUserAgent bool
+ client *http.Client
}
func (c *defaultHTTPClient) Do(request *http.Request, timeout time.Duration) (response *http.Response, error error) {
if c.client.Timeout != timeout { // Set wanted timeout
c.client.Timeout = timeout
}
- if c.setUserAgent {
- if request.Header == nil {
- request.Header = make(http.Header)
- }
- request.Header.Set("User-Agent", fmt.Sprintf("Vespa CLI/%s", build.Version))
+ if request.Header == nil {
+ request.Header = make(http.Header)
}
+ request.Header.Set("User-Agent", fmt.Sprintf("Vespa CLI/%s", build.Version))
return c.client.Do(request)
}
@@ -68,7 +65,6 @@ func ForceHTTP2(client HTTPClient, certificates []tls.Certificate, caCertificate
if !ok {
return
}
- c.setUserAgent = false // Let caller control all request headers
var dialFunc func(ctx context.Context, network, addr string, cfg *tls.Config) (net.Conn, error)
if certificates == nil {
// No certificate, so force H2C (HTTP/2 over clear-text) by using a non-TLS Dialer
@@ -95,6 +91,5 @@ func CreateClient(timeout time.Duration) HTTPClient {
Timeout: timeout,
Transport: http.DefaultTransport,
},
- setUserAgent: true,
}
}
diff --git a/client/go/internal/vespa/document/http.go b/client/go/internal/vespa/document/http.go
index 986659773f1..d6e7745e6b1 100644
--- a/client/go/internal/vespa/document/http.go
+++ b/client/go/internal/vespa/document/http.go
@@ -17,7 +17,6 @@ import (
"github.com/go-json-experiment/json"
"github.com/klauspost/compress/gzip"
- "github.com/vespa-engine/vespa/client/go/internal/build"
"github.com/vespa-engine/vespa/client/go/internal/util"
)
@@ -29,18 +28,6 @@ const (
CompressionGzip
)
-var (
- defaultHeaders http.Header = map[string][]string{
- "User-Agent": {fmt.Sprintf("Vespa CLI/%s", build.Version)},
- "Content-Type": {"application/json; charset=utf-8"},
- }
- gzipHeaders http.Header = map[string][]string{
- "User-Agent": {fmt.Sprintf("Vespa CLI/%s", build.Version)},
- "Content-Type": {"application/json; charset=utf-8"},
- "Content-Encoding": {"gzip"},
- }
-)
-
// Client represents a HTTP client for the /document/v1/ API.
type Client struct {
options ClientOptions
@@ -233,10 +220,9 @@ func newRequest(method, url string, body io.Reader, gzipped bool) (*http.Request
if err != nil {
return nil, err
}
+ req.Header.Set("Content-Type", "application/json; charset=utf-8")
if gzipped {
- req.Header = gzipHeaders
- } else {
- req.Header = defaultHeaders
+ req.Header.Set("Content-Encoding", "gzip")
}
return req, nil
}
diff --git a/client/go/internal/vespa/document/http_test.go b/client/go/internal/vespa/document/http_test.go
index 30bd8406f45..c797ba5607f 100644
--- a/client/go/internal/vespa/document/http_test.go
+++ b/client/go/internal/vespa/document/http_test.go
@@ -3,6 +3,7 @@ package document
import (
"bytes"
"fmt"
+ "net/http"
"reflect"
"strings"
"testing"
@@ -112,8 +113,11 @@ func TestClientSend(t *testing.T) {
if r.Method != tt.method {
t.Errorf("got r.Method = %q, want %q", r.Method, tt.method)
}
- if !reflect.DeepEqual(r.Header, defaultHeaders) {
- t.Errorf("got r.Header = %v, want %v", r.Header, defaultHeaders)
+ var headers http.Header = map[string][]string{
+ "Content-Type": {"application/json; charset=utf-8"},
+ }
+ if !reflect.DeepEqual(r.Header, headers) {
+ t.Errorf("got r.Header = %v, want %v", r.Header, headers)
}
if r.URL.String() != tt.url {
t.Errorf("got r.URL = %q, want %q", r.URL, tt.url)
diff --git a/searchlib/src/vespa/searchlib/expression/expressiontree.cpp b/searchlib/src/vespa/searchlib/expression/expressiontree.cpp
index 5592f2f863b..cef596ca3be 100644
--- a/searchlib/src/vespa/searchlib/expression/expressiontree.cpp
+++ b/searchlib/src/vespa/searchlib/expression/expressiontree.cpp
@@ -4,7 +4,6 @@
#include "documentaccessornode.h"
#include "relevancenode.h"
#include "interpolatedlookupfunctionnode.h"
-#include "arrayatlookupfunctionnode.h"
#include "attributenode.h"
namespace search::expression {
@@ -28,8 +27,7 @@ ExpressionTree::ExpressionTree() :
_attributeNodes(),
_documentAccessorNodes(),
_relevanceNodes(),
- _interpolatedLookupNodes(),
- _arrayAtLookupNodes()
+ _interpolatedLookupNodes()
{
prepare(false);
}
@@ -39,8 +37,7 @@ ExpressionTree::ExpressionTree(const ExpressionNode &root) :
_attributeNodes(),
_documentAccessorNodes(),
_relevanceNodes(),
- _interpolatedLookupNodes(),
- _arrayAtLookupNodes()
+ _interpolatedLookupNodes()
{
prepare(false);
}
@@ -84,7 +81,6 @@ ExpressionTree::onPrepare(bool preserveAccurateTypes)
gather(_documentAccessorNodes).from(*_root);
gather(_relevanceNodes).from(*_root);
gather(_interpolatedLookupNodes).from(*_root);
- gather(_arrayAtLookupNodes).from(*_root);
}
}
@@ -94,8 +90,7 @@ ExpressionTree::ExpressionTree(ExpressionNode::UP root) :
_attributeNodes(),
_documentAccessorNodes(),
_relevanceNodes(),
- _interpolatedLookupNodes(),
- _arrayAtLookupNodes()
+ _interpolatedLookupNodes()
{
prepare(false);
}
@@ -106,8 +101,7 @@ ExpressionTree::ExpressionTree(const ExpressionTree & rhs) :
_attributeNodes(),
_documentAccessorNodes(),
_relevanceNodes(),
- _interpolatedLookupNodes(),
- _arrayAtLookupNodes()
+ _interpolatedLookupNodes()
{
prepare(false);
}
@@ -138,7 +132,6 @@ ExpressionTree::swap(ExpressionTree & e)
_documentAccessorNodes.swap(e._documentAccessorNodes);
_relevanceNodes.swap(e._relevanceNodes);
_interpolatedLookupNodes.swap(e._interpolatedLookupNodes);
- _arrayAtLookupNodes.swap(_arrayAtLookupNodes);
}
ExpressionTree::~ExpressionTree() = default;
@@ -160,9 +153,6 @@ struct DocIdSetter {
void operator() (InterpolatedLookup *node) {
node->setDocId(_docId);
}
- void operator() (ArrayAtLookup *node) {
- node->setDocId(_docId);
- }
void operator() (AttributeNode *node) {
node->setDocId(_docId);
}
@@ -186,7 +176,6 @@ ExpressionTree::execute(DocId docId, HitRank rank) const
std::for_each(_attributeNodes.cbegin(), _attributeNodes.cend(), setDocId);
std::for_each(_relevanceNodes.cbegin(), _relevanceNodes.cend(), setHitRank);
std::for_each(_interpolatedLookupNodes.cbegin(), _interpolatedLookupNodes.cend(), setDocId);
- std::for_each(_arrayAtLookupNodes.cbegin(), _arrayAtLookupNodes.cend(), setDocId);
return _root->execute();
}
diff --git a/searchlib/src/vespa/searchlib/expression/expressiontree.h b/searchlib/src/vespa/searchlib/expression/expressiontree.h
index b9517fc5f69..54600e7fcf5 100644
--- a/searchlib/src/vespa/searchlib/expression/expressiontree.h
+++ b/searchlib/src/vespa/searchlib/expression/expressiontree.h
@@ -68,14 +68,12 @@ private:
using DocumentAccessorNodeList = std::vector<DocumentAccessorNode *>;
using RelevanceNodeList = std::vector<RelevanceNode *>;
using InterpolatedLookupList = std::vector<InterpolatedLookup *>;
- using ArrayAtLookupList = std::vector<ArrayAtLookup *>;
ExpressionNode::CP _root;
AttributeNodeList _attributeNodes;
DocumentAccessorNodeList _documentAccessorNodes;
RelevanceNodeList _relevanceNodes;
InterpolatedLookupList _interpolatedLookupNodes;
- ArrayAtLookupList _arrayAtLookupNodes;
};
}