Commit Graph

62 Commits

Author SHA1 Message Date
0d5c7a880f API generation 2020-04-30 11:28:37 +02:00
cfc21f56c2 API generation 2020-04-10 12:21:27 +02:00
8522f303ee API generation 2020-04-07 11:25:25 +02:00
6779f3b11a Switched request and response generics position (#1132)
* Updated code generation

* Switched request and response generics position

* Updated test

* API generation

* Removed unused generics

* Test type definitions for callback style API as well

* Fix comments

* Fix conflict

* API generation

* Updated type def
2020-04-06 12:45:27 +02:00
d10e8bb9f3 API generation 2020-04-06 11:35:59 +02:00
27a8e2a9bf Updated abort behavior (#1141)
* Updated abort behavior

- Support for aborting a request with the promise api
- Aborting a request will cause a RequestAbortedError
- Normalized Connection class errors, now every error returned is
wrapped by the client errors constructors

* Updated test

* Updated docs

* Updated code generation script

* Renamed test

* Code coverage

* Avoid calling twice transport.request
2020-04-06 11:21:19 +02:00
953a8033ab API generation 2020-04-03 09:49:51 +02:00
bb28276553 API generation 2020-04-02 07:48:45 +02:00
2963fa6e0b API generation 2020-03-30 14:50:18 +02:00
da35f71f2d API generation 2020-03-27 13:46:30 +01:00
d7836a16af Client helpers (#1107)
* Added client helpers

* Updated test

* The search helper should return only the documents

* Added code comments

* Fixed bug

* Updated test

* Removed bulkSize and added flushBytes

* Updated test

* Added concurrency

* Updated test

* Added support for 429 handling in the scroll search helper

* Updated test

* Updated stats count

* Updated test

* Fix test

* Use client maxRetries as default

* Updated type definitions

* Refactored bulk helper to be more consistent with the client api

* Updated test

* Improved error handling, added refreshOnCompletion option and forward additinal options to the bulk api

* Updated type definitions

* Updated test

* Fixed test on Node v8

* Updated test

* Added TODO

* Updated docs

* Added Node v8 note

* Updated scripts

* Removed useless files

* Added helpers to integration test

* Fix cli argument position

* Moar fixes

* Test run elasticsearch in github actions

* Use master action version

* Add vm.max_map_count step

* Test new action setup

* Added Configure sysctl limits step

* Updated action to latest version

* Don't run helpers integration test in jenkins

* Run helpers integratino test also with Node v10

* Updated docs

* Updated docs

* Updated helpers type definitions

* Added test for helpers type definitions

* Added license header
2020-03-23 17:43:10 +01:00
6c82a4967e Refactored type definitions (#1119)
* Updated types generation script

* Refactored api method definitions

* Updated test
- Removed old test code
- Added tsd dev dependency
- Rewritten test with tsd

* Removed unused dependencies

* Fixed definition

* Updated test

* Updated docs

* Improved events type definitions

* Updated test

* Minor fixes in the type definitons

* More type test

* Improved Transport type definitions

* Updated test

* Addressed comments

* Code generation

* Use RequestBody, Response and Context everywhere, also default Context to unknown

* Updated test

* body -> hasBody

* Fixed conflicts

* Updated code generation

* Improved request body type definition

* Updated code generation

* Use BodyType for both request and reponses generics
- Use extends for defining the RequestBody generic to force the user
  following the same shape.
- BodyType and NDBodyType now accepts a generics to allow injecting
  more specific types in the future

* API generation

* Updated test

* Updated docs

* Use BodyType also in ReponseError

* Removed useless client generics

* Renamed generics and types
- prefixed all generics with a T
- BodyType => RequestBody
- NDBodyType => RequestNDBody
- Added ResponseBody

* Updated test

* Updated docs

* Test ResponseBody as well

* Simplify overloads

* API generation

* Updated test

* Updated error types
2020-03-23 11:38:18 +01:00
87579e4ca9 API generation 2020-03-20 13:33:56 +01:00
7e51d4cd8c API generation 2020-03-18 15:05:03 +01:00
5445f0b22b API generation 2020-03-12 08:42:31 +01:00
d621d31d39 API generation 2020-02-19 11:55:45 +01:00
0c4875aa6d API generation 2020-02-10 12:05:42 +01:00
41927914bb API generation 2020-02-06 09:16:30 +01:00
ebb96e95bf API generation 2020-01-31 15:27:34 +01:00
7478913d6c API generation 2020-01-13 12:23:10 +01:00
185cfa394b ClientOptions["cloud"] should have optional auth fields (#1032) 2020-01-07 12:08:57 +01:00
e2ba0634bf API generation 2019-12-13 09:03:01 +01:00
0f1746014c X-Opaque-Id support (#997)
* Added X-Opaque-Id support

* Updated type definitions

* Updated test

* Updated docs
2019-12-02 09:21:03 +01:00
c40eaab038 API generation 2019-11-25 17:04:37 +01:00
f3b044e60c API generation 2019-11-19 19:35:07 +01:00
e098f77a23 API generation 2019-10-24 09:54:18 +02:00
82b6c2005b API generation 2019-10-01 10:07:23 +02:00
c13d7c7847 [DOCS] Update docs for 'synced flush' and 'SLM' APIs (#972) 2019-09-26 20:14:38 +02:00
69247496ce Update code generation (#969)
* Updated code generation scripts to use the new spec

* API generation

* Fix bad link
2019-09-16 16:55:23 +02:00
f7be49f2ba API generation 2019-08-14 08:57:25 +02:00
1f1b4c29fa API generation 2019-07-29 11:39:50 +02:00
a948a98be6 Refactored connection pool (#913)
* Refactored ConnectionPool
- Created BaseConnectionPool class
- Created CloudConnectionPool
- connection pool updates are immutable
- resurrect now happens inside getConnection()

* Rewritten connection pool(s) type definitions

* Updated test

* Fixed test

* Fix if check

* Removed old files

* Improve code coverage

* Updated license header

* Fix if check

* Improve code coverage

* Updated coverage script
2019-07-26 11:43:48 +02:00
fa07de3284 Master API generation (#922) 2019-07-25 13:03:24 +02:00
032ec73dbd Updated automatically the main typings file with the generated t… (#919)
* Updated automatically the main typings file with the generated types

* Removed useless log
2019-07-25 10:57:47 +02:00
0039fad487 Revert "API generation"
This reverts commit 7c5992131b.
2019-07-24 14:12:47 +02:00
7c5992131b API generation 2019-07-24 10:58:54 +02:00
36a1666cc8 Updated license header (#915) 2019-07-22 11:46:59 +02:00
e93f94521c fix(Typings): sniffInterval can also be boolean (#914) 2019-07-22 10:39:42 +02:00
0ebbd71e9a Improve authentication handling (#908) 2019-07-18 10:33:11 +02:00
d00564722e API generation 2019-07-04 12:11:34 +02:00
2186396570 API generation 2019-07-01 12:41:44 +02:00
ca50f580f4 Updated type definitions (#882)
* Updated type definitions

* Updated test
2019-06-19 09:14:19 +02:00
82a0a110b5 Fix 841 (#842)
* Added errors to exported members

* Updated test
2019-05-09 14:57:04 +02:00
269c0fc96a Improve observability (#834)
* API generation

* Added correlation id support

* Updated docs

* Updated test

* Updated code generation

* API generation

* Updated code generation

* Added support for client name and custom context object

* Updated docs

* Updated test

* Fix docs

* Updated docs

* Added id support also for sniffing

* Updated test

* Update docs/observability.asciidoc

Co-Authored-By: delvedor <delvedor@users.noreply.github.com>

* Update docs/observability.asciidoc

Co-Authored-By: delvedor <delvedor@users.noreply.github.com>

* Apply suggestions

* Update docs/configuration.asciidoc

Co-Authored-By: delvedor <delvedor@users.noreply.github.com>

* Update docs/configuration.asciidoc

Co-Authored-By: delvedor <delvedor@users.noreply.github.com>

* Update docs/observability.asciidoc

Co-Authored-By: delvedor <delvedor@users.noreply.github.com>

* Update docs/observability.asciidoc

Co-Authored-By: delvedor <delvedor@users.noreply.github.com>

* Update docs/observability.asciidoc

Co-Authored-By: delvedor <delvedor@users.noreply.github.com>

* Apply suggestions

* Updated README.md

* Fixed test

* Addressed suggestions
2019-05-03 17:23:40 +02:00
c6ce062822 Updated typings (#819) 2019-04-17 11:23:15 +02:00
2919f93b73 Custom http agent support (#810) 2019-04-10 11:13:22 +02:00
fb73b4b08d Master should use the latest version of ES (#780)
The `master` branch should work with the latest snapshot of Elasticsearch.

- Use `8.0.0-SNAPSHOT`
- Code generation
- Updated scripts and CI conf
2019-03-28 09:05:00 +01:00
46df19fd7d Updated types 2019-03-11 17:12:31 +01:00
cae38e6b2b License (#773)
- Added license header
- Added license checker
- Fixed tap
2019-03-08 07:47:24 +01:00
5b856cd4c2 Child client support (#768)
With this pr we introduce the `client.child` API, which returns a new client instance that shares the connection pool with the parent client.
This feature can be handy if you need to have multiple client instances with different configurations, but with a shared connection pool.

Example:

```js
const { Client } = require('@elastic/elasticsearch')
const client = new Client({ node: 'http://localhost:9200' })
const child = client.child({
  headers: { 'x-foo': 'bar' },
  requestTimeout: 1000
})

client.info(console.log)
child.info(console.log)
```

**Open questions:**

* Currently, the event emitter is shared between the parent and the child(ren), is it ok?
* Currently, if you extend the parent client, the child client will have the same extensions, while if the child client adds an extension, the parent client will not be extended. Is it ok?

**Caveats:**

* You can override _any_ option except for the connection pool specific options (`ssl`, `agent`, `pingTimeout`, `Connection`, and `resurrectStrategy`).
* You can't specify a new `Connection` class.
* If you call `close` in any of the parent/child clients, every client will be closed.

_Note: the `nodeFilter` and `nodeSelector` options are now `Transport` options and no longer `ConnectionPool` options._
2019-02-21 12:48:49 +01:00