elastic icon indicating copy to clipboard operation
elastic copied to clipboard

Can't use REST compatibility headers

Open carlware opened this issue 1 year ago • 0 comments

The compatibility headers cannot be used with the client

Accept: "application/vnd.elasticsearch+json;compatible-with=7"
Content-Type: "application/vnd.elasticsearch+json;compatible-with=7"

I tried to set the headers like this

elastic.SetHeaders(http.Header{
	"Accept": {
		"application/vnd.elasticsearch+json",
		"compatible-with=7",
	},
	"Content-Type": {
		"application/vnd.elasticsearch+json",
		"compatible-with=7",
	},
})

but the the PerformRequest doesn't honor the Content-Type header, in several places in request.go that header is set explicitly to application/json https://github.com/olivere/elastic/blob/release-branch.v7/request.go#L27 https://github.com/olivere/elastic/blob/release-branch.v7/request.go#L59

Any request to Elasticsearch will fail because the Content-Type doesn't have the compatible-with option set.

Which version of Elastic are you using?

[*] elastic.v7 (for Elasticsearch 7.x) [ ] elastic.v6 (for Elasticsearch 6.x) [ ] elastic.v5 (for Elasticsearch 5.x) [ ] elastic.v3 (for Elasticsearch 2.x) [ ] elastic.v2 (for Elasticsearch 1.x)

carlware avatar Jul 28 '23 22:07 carlware