From c709915530d87a4dc0dbcd6993adcfb08733c41f Mon Sep 17 00:00:00 2001 From: Josh Mock Date: Thu, 5 Dec 2024 12:47:56 -0600 Subject: [PATCH] Update compatible-with content-type header for 9.0 --- src/client.ts | 6 ++--- test/unit/helpers/bulk.test.ts | 46 +++++++++++++++++----------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/client.ts b/src/client.ts index f65baf0ad..2549a5b37 100644 --- a/src/client.ts +++ b/src/client.ts @@ -383,9 +383,9 @@ export default class Client extends API { maxResponseSize: options.maxResponseSize, maxCompressedResponseSize: options.maxCompressedResponseSize, vendoredHeaders: { - jsonContentType: 'application/vnd.elasticsearch+json; compatible-with=8', - ndjsonContentType: 'application/vnd.elasticsearch+x-ndjson; compatible-with=8', - accept: 'application/vnd.elasticsearch+json; compatible-with=8,text/plain' + jsonContentType: 'application/vnd.elasticsearch+json; compatible-with=9', + ndjsonContentType: 'application/vnd.elasticsearch+x-ndjson; compatible-with=9', + accept: 'application/vnd.elasticsearch+json; compatible-with=9,text/plain' }, redaction: options.redaction }) diff --git a/test/unit/helpers/bulk.test.ts b/test/unit/helpers/bulk.test.ts index ed161850c..3871c348f 100644 --- a/test/unit/helpers/bulk.test.ts +++ b/test/unit/helpers/bulk.test.ts @@ -58,7 +58,7 @@ test('bulk index', t => { onRequest (params) { t.equal(params.path, '/_bulk') t.match(params.headers, { - 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8', + 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9', 'x-elastic-client-meta': `es=${clientVersion},js=${nodeVersion},t=${transportVersion},hc=${nodeVersion},h=bp` }) // @ts-expect-error @@ -104,7 +104,7 @@ test('bulk index', t => { const MockConnection = connection.buildMockConnection({ onRequest (params) { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) t.notMatch(params.headers, { 'x-elastic-client-meta': `es=${clientVersion},js=${nodeVersion},t=${transportVersion},hc=${nodeVersion},h=bp` }) @@ -150,7 +150,7 @@ test('bulk index', t => { const MockConnection = connection.buildMockConnection({ onRequest (params) { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error t.equal(params.body.split('\n').filter(Boolean).length, 6) return { body: { errors: false, items: new Array(3).fill({}) } } @@ -195,7 +195,7 @@ test('bulk index', t => { return { body: { acknowledged: true } } } else { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error const [action, payload] = params.body.split('\n') t.same(JSON.parse(action), { index: { _index: 'test' } }) @@ -241,7 +241,7 @@ test('bulk index', t => { return { body: { acknowledged: true } } } else { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error const [action, payload] = params.body.split('\n') t.same(JSON.parse(action), { index: { _index: 'test' } }) @@ -283,7 +283,7 @@ test('bulk index', t => { const MockConnection = connection.buildMockConnection({ onRequest (params) { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error const [action, payload] = params.body.split('\n') t.same(JSON.parse(action), { index: { _index: 'test', _id: count } }) @@ -328,7 +328,7 @@ test('bulk index', t => { t.test('Should perform a bulk request (retry)', async t => { async function handler (req: http.IncomingMessage, res: http.ServerResponse) { t.equal(req.url, '/_bulk') - t.match(req.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(req.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) let body = '' req.setEncoding('utf8') @@ -446,7 +446,7 @@ test('bulk index', t => { t.test('Should perform a bulk request (failure)', async t => { async function handler (req: http.IncomingMessage, res: http.ServerResponse) { t.equal(req.url, '/_bulk') - t.match(req.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(req.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) let body = '' req.setEncoding('utf8') @@ -587,7 +587,7 @@ test('bulk index', t => { t.test('Should abort a bulk request', async t => { async function handler (req: http.IncomingMessage, res: http.ServerResponse) { t.equal(req.url, '/_bulk') - t.match(req.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(req.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) let body = '' req.setEncoding('utf8') @@ -724,7 +724,7 @@ test('bulk index', t => { const MockConnection = connection.buildMockConnection({ onRequest (params) { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error const [action, payload] = params.body.split('\n') t.same(JSON.parse(action), { index: { _index: 'test', _id: count } }) @@ -815,7 +815,7 @@ test('bulk index', t => { const MockConnection = connection.buildMockConnection({ onRequest (params) { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error const [action, payload] = params.body.split('\n') t.same(JSON.parse(action), { index: { _index: 'test' } }) @@ -914,7 +914,7 @@ test('bulk index', t => { onRequest (params) { t.equal(params.path, '/_bulk') t.match(params.headers, { - 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8', + 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9', 'x-elastic-client-meta': `es=${clientVersion},js=${nodeVersion},t=${transportVersion},hc=${nodeVersion},h=bp` }) // @ts-expect-error @@ -969,7 +969,7 @@ test('bulk create', t => { const MockConnection = connection.buildMockConnection({ onRequest (params) { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error const [action, payload] = params.body.split('\n') t.same(JSON.parse(action), { create: { _index: 'test', _id: count } }) @@ -1017,7 +1017,7 @@ test('bulk create', t => { const MockConnection = connection.buildMockConnection({ onRequest (params) { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error const [action, payload] = params.body.split('\n') t.same(JSON.parse(action), { create: { _index: 'test', _id: count } }) @@ -1073,7 +1073,7 @@ test('bulk update', t => { const MockConnection = connection.buildMockConnection({ onRequest (params) { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error const [action, payload] = params.body.split('\n') t.same(JSON.parse(action), { update: { _index: 'test', _id: count } }) @@ -1122,7 +1122,7 @@ test('bulk update', t => { const MockConnection = connection.buildMockConnection({ onRequest (params) { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error const [action, payload] = params.body.split('\n') t.same(JSON.parse(action), { update: { _index: 'test', _id: count } }) @@ -1169,7 +1169,7 @@ test('bulk update', t => { const MockConnection = connection.buildMockConnection({ onRequest (params) { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error const [action, payload] = params.body.split('\n') t.same(JSON.parse(action), { update: { _index: 'test', _id: count } }) @@ -1223,7 +1223,7 @@ test('bulk delete', t => { const MockConnection = connection.buildMockConnection({ onRequest (params) { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error t.same(JSON.parse(params.body), { delete: { _index: 'test', _id: count++ } }) return { body: { errors: false, items: [{}] } } @@ -1266,7 +1266,7 @@ test('bulk delete', t => { t.test('Should perform a bulk request (failure)', async t => { async function handler (req: http.IncomingMessage, res: http.ServerResponse) { t.equal(req.url, '/_bulk') - t.match(req.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(req.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) let body = '' req.setEncoding('utf8') @@ -1469,7 +1469,7 @@ test('transport options', t => { if (params.path === '/_bulk') { t.match(params.headers, { - 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8', + 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9', foo: 'bar' }) return { body: { errors: false, items: [{}] } } @@ -1618,7 +1618,7 @@ test('Flush interval', t => { const MockConnection = connection.buildMockConnection({ onRequest (params) { t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error const [action, payload] = params.body.split('\n') t.same(JSON.parse(action), { index: { _index: 'test' } }) @@ -1671,7 +1671,7 @@ test('Flush interval', t => { onRequest (params) { t.ok(count < 2) t.equal(params.path, '/_bulk') - t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8' }) + t.match(params.headers, { 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9' }) // @ts-expect-error const [action, payload] = params.body.split('\n') t.same(JSON.parse(action), { index: { _index: 'test' } }) @@ -1730,7 +1730,7 @@ test('Flush interval', t => { onRequest (params) { t.equal(params.path, '/_bulk') t.match(params.headers, { - 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=8', + 'content-type': 'application/vnd.elasticsearch+x-ndjson; compatible-with=9', 'x-elastic-client-meta': `es=${clientVersion},js=${nodeVersion},t=${transportVersion},hc=${nodeVersion},h=bp` }) // @ts-expect-error