IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.

Transport

edit

This class is responsible for performing the request to Elasticsearch and handling errors, it also handles sniffing.

const { Client } = require('@elastic/elasticsearch')
const { Transport } = require('@elastic/transport')

class MyTransport extends Transport {
  request (params, options, callback) {
    // your code
  }
}

const client = new Client({
    Transport: MyTransport
})

Sometimes you need to inject a small snippet of your code and then continue to use the usual client code. In such cases, call super.method:

class MyTransport extends Transport {
  request (params, options, callback) {
    // your code
    return super.request(params, options, callback)
  }
}

Supported content types

edit
  • application/json, in this case the transport will return a plain JavaScript object
  • text/plain, in this case the transport will return a plain string
  • application/vnd.mapbox-vector-tile, in this case the transport will return a Buffer
  • application/vnd.elasticsearch+json, in this case the transport will return a plain JavaScript object