diff options
-rw-r--r-- | client/go/internal/cli/cmd/document_test.go | 2 | ||||
-rw-r--r-- | client/go/internal/util/http.go | 13 | ||||
-rw-r--r-- | client/go/internal/vespa/document/http.go | 18 | ||||
-rw-r--r-- | client/go/internal/vespa/document/http_test.go | 8 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/expression/expressiontree.cpp | 19 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/expression/expressiontree.h | 2 |
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; }; } |