diff --git a/types/elasticsearch/elasticsearch-tests.ts b/types/elasticsearch/elasticsearch-tests.ts index e21f84dc48..3236a181a1 100644 --- a/types/elasticsearch/elasticsearch-tests.ts +++ b/types/elasticsearch/elasticsearch-tests.ts @@ -1,10 +1,22 @@ import * as elasticsearch from "elasticsearch"; +import HttpConnector = require("elasticsearch/src/lib/connectors/http"); + +class MyHttpConnector extends HttpConnector { + constructor(host: any, config: any) { + super(host, config); + } +} let client = new elasticsearch.Client({ host: 'localhost:9200', log: 'trace' }); +client = new elasticsearch.Client({ + host: 'localhost:9200', + connectionClass: MyHttpConnector +}); + client = new elasticsearch.Client({ hosts: [ 'box1.server.org', diff --git a/types/elasticsearch/index.d.ts b/types/elasticsearch/index.d.ts index e60e8d86c3..7973b598ab 100644 --- a/types/elasticsearch/index.d.ts +++ b/types/elasticsearch/index.d.ts @@ -12,6 +12,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 +import HttpConnector = require("./src/lib/connectors/http"); + export class Client { constructor(params: ConfigOptions); cat: Cat; @@ -111,7 +113,7 @@ export interface ConfigOptions { keepAlive?: boolean; maxSockets?: number; suggestCompression?: boolean; - connectionClass?: string; + connectionClass?: string | typeof HttpConnector; sniffedNodesProtocol?: string; ssl?: object; selector?: any; diff --git a/types/elasticsearch/src/lib/connectors/http.d.ts b/types/elasticsearch/src/lib/connectors/http.d.ts new file mode 100644 index 0000000000..94d1e4e58c --- /dev/null +++ b/types/elasticsearch/src/lib/connectors/http.d.ts @@ -0,0 +1,13 @@ +// HttpConnector for elasticsearch + +export = HttpConnector; + +declare class HttpConnector { + constructor(host: any, config: any); + + // onStatusSet(handler: (status: any) => void): void; + createAgent(config: any): any; + makeAgentConfig(config: any): any; + makeReqParams(params: any): any; + request(params: any, callback: (error: any, response: any, status: any, headers: any) => void): void; +}