[[transport]] === Transport This class is responsible for performing the request to {es} and handling errors, it also handles sniffing. [source,js] ---- 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`: [source,js] ---- class MyTransport extends Transport { request (params, options, callback) { // your code return super.request(params, options, callback) } } ---- ==== Supported content types - `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