Compare commits

...

98 Commits
8.17 ... v7.3.0

Author SHA1 Message Date
75d58a895f Bumped v7.3.0 2019-08-01 10:12:55 +02:00
74f933a2a6 API generation 2019-08-01 10:10:05 +02:00
8c78f47ac3 Support for Elasticsearch 7.3 (#928) 2019-08-01 10:09:16 +02:00
823c209c32 API generation 2019-07-25 11:14:14 +02:00
6ec653e7ac Better reference code examples (#920)
* Updated documentation genertation script to build small code snippets

* Updated docs reference

* Removed slm doc

* Add commas and remove empty objects
2019-07-25 11:13:12 +02:00
29ad0735c2 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 11:12:32 +02:00
f74123fb53 fix(Typings): sniffInterval can also be boolean (#914) 2019-07-22 10:40:22 +02:00
f10d55f32d Updated test matrix 2019-07-17 18:40:11 +02:00
2ceb04697b Fix typo in comments (#912) 2019-07-17 17:05:16 +02:00
4d5a79cae0 Improve README (#909)
* Updated README

* Updated asciidoc intro

* Updated intro title

* Update README.md

Co-Authored-By: Lisa Cawley <lcawley@elastic.co>

* Update README.md

Co-Authored-By: Lisa Cawley <lcawley@elastic.co>

* Update README.md

Co-Authored-By: Lisa Cawley <lcawley@elastic.co>

* Update README.md

Co-Authored-By: Lisa Cawley <lcawley@elastic.co>

* Update README.md

Co-Authored-By: Lisa Cawley <lcawley@elastic.co>

* Update docs/introduction.asciidoc

Co-Authored-By: Lisa Cawley <lcawley@elastic.co>

* Update docs/introduction.asciidoc

Co-Authored-By: Lisa Cawley <lcawley@elastic.co>

* Updated asciidoc intro
2019-07-17 10:30:13 +02:00
52416cd072 Added support for arbitrary_key (#910) 2019-07-16 12:21:39 +02:00
eb069b10a2 Update deepmerge requirement from ^3.2.0 to ^4.0.0 (#898) 2019-07-15 16:54:31 +02:00
715aee4dd1 Update tap requirement from ^13.0.1 to ^14.4.1 (#900) 2019-07-15 16:54:31 +02:00
94679a2001 Update @types/node requirement from ^11.13.7 to ^12.6.2 (#899) 2019-07-15 16:54:31 +02:00
0df026d3ff Update standard requirement from ^12.0.1 to ^13.0.2 (#906) 2019-07-15 16:54:31 +02:00
33ad918e2e Merge branch '7.x' of https://github.com/elastic/elasticsearch-js into 7.x 2019-07-10 15:48:09 +02:00
af8f3feaf9 Improve integration test (#859)
* CI: Added junit plugin

* Updated .gitignore

* Added integration test reporter

* Updated integration testing suite

* Updated ci config

* Updated report file path

* Use refresh 'true' instead of 'wait_for'

* Disable junit reporting

* Refresh one single time

* Update security index name

* Updated skip test handling and use class syntax

* Updated test script

* Disable test timeout

* Added command to automatically remove an old snapshot

* Disable timeout in integration test script

* Updated logs and cleaned up git handling

* Fixed shouldSkip utility

* Updated cleanup code

* Updated cleanup code pt 2

* Rename Platinum to XPack
2019-07-10 15:47:57 +02:00
63c62b6b68 Updated travis configuration (#894)
* Updated travis configuration

* Run license checker only in Linux

* Fixed script

* Fix windows test
2019-07-08 16:30:15 +02:00
3942ed722c Bumped v7.2.0 2019-07-05 11:39:08 +02:00
2e62e4ac58 Merge branch '7.x' of https://github.com/elastic/elasticsearch-js into 7.x 2019-07-04 14:43:15 +02:00
060d4ae5fc Remove auth data from inspect and toJSON in connection class (#887)
* Remove auth data from inspect and toJSON in connection class

* Updated test
2019-07-04 14:43:01 +02:00
b0861fae0d Support for 7.2 (#884)
* API generation

* Add 7.2.0 to testing matrix

* Use 7.2.0-SNAPSHOT

* API generation

* Updated custom skips

* Updated ES version

* Updated esDefaultRoles
2019-07-04 11:27:14 +02:00
0918df8e7d Updated type definitions (#882)
* Updated type definitions

* Updated test
2019-06-19 09:15:31 +02:00
e86a6371c5 Support branch for code generation (#883) 2019-06-18 15:46:22 +02:00
53e326275b Added cloud configuration example (#880)
* Added cloud configuration example

* Used cloud example from auth docs and added link
2019-06-14 10:13:01 +02:00
48e277fd07 [DOCS] Fixes typo (#877) 2019-06-12 08:42:01 +02:00
40603cde72 Merge branch '7.x' of https://github.com/elastic/elasticsearch-js into 7.x 2019-06-03 12:28:57 +02:00
896c742407 Docs: added missing configuration options (#870) 2019-06-03 12:28:50 +02:00
22880d4659 Added ES 7.1 2019-05-22 17:53:08 +02:00
21a84654f6 Bumped v7.1.0 2019-05-22 12:18:55 +02:00
bb0ff22fd2 Support for non-friendly chars in url username and password (#858)
* Support for non-friendly chars in url username and password
- Added auth option to Connection class
- Updated pool.addConnection

* Updated test
2019-05-20 17:10:17 +02:00
9897ba8831 Patch #855 2019-05-17 09:07:01 -04:00
c922661fda API generation 2019-05-16 16:53:38 -04:00
597dd28340 Patch deprecated parameters (#851)
* Updated code generation

* API generation

* API generation

* Updated code generation
2019-05-16 16:53:05 -04:00
cc0dc10c64 missing comma (#854) 2019-05-16 09:39:11 -04:00
9c5394ecdb Bumped v7.0.1 2019-05-14 17:49:52 -04:00
96a103b305 Added toJSON method to Connection class (#849)
* Added toJSON method to Connection class

* Updated test

* Updated typings
2019-05-14 12:01:21 -04:00
3e9ae8b29c Fix #803 (#846) 2019-05-14 12:01:21 -04:00
064807c5a9 Fix 843 (#845)
* Fix #843

* Updated test
2019-05-10 10:56:06 +02:00
72b67fe4d7 Bumped v7.0.0 2019-05-09 15:33:58 +02:00
6f2767628c Fix 841 (#842)
* Added errors to exported members

* Updated test
2019-05-09 14:57:33 +02:00
96137788db Bumped v7.0.0-rc.3 2019-05-06 12:05:27 +02:00
8136846a78 API generation 2019-05-06 12:04:41 +02:00
62e9805311 Updated installation instructions (#840) 2019-05-06 12:02:08 +02:00
907f9d085c Added User-Agent header (#807)
* Added User-Agent header

* Updated test

* Updated user-agent format

* Updated test
2019-05-06 09:59:55 +02:00
0c1fb22631 API generation 2019-05-03 19:03:34 +02:00
132072b8ab Simplify API wrappers (#839)
* Updated code generation

* API generation

* Updated test

* Updated code generation

* API generation

* API generation
2019-05-03 19:03:09 +02:00
99ada00747 API generation 2019-05-03 17:26:07 +02:00
b1458e3511 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:25:25 +02:00
9dacd9d9ee Better handling of hostname/ip:port format (#837)
* Better handling of hostname/ip:port format

* Updated test
2019-05-03 17:25:04 +02:00
d6577b7fa1 Updated installation instructions (#835)
* Updated installation instructions

* Added a note about Elasticsearch master
2019-05-03 17:25:04 +02:00
ddb72d6e50 Fix resurrect timeout formula (#833)
* Fixes #827

* Updated test
2019-04-29 09:19:53 +02:00
9bb2d237e4 Node v12 and bumped dependencies (#832)
* Node v12

* Bumped dependencies

* Disable automatic code coverage
2019-04-26 17:26:14 +02:00
4099532617 Updated .travis.yml (#831) 2019-04-26 15:04:17 +02:00
37544399ce API generation 2019-04-26 15:03:20 +02:00
12e88d6f87 Support for deprecated paths (#828)
* Updated code generation

* API generation

* Updated test
2019-04-26 15:02:49 +02:00
dbfeb5d1a9 Update RequestEvent to use parameterized type T (#822)
Updated `RequestEvent` to use parameterized type `T`.  In reference to:

https://github.com/elastic/elasticsearch-js/pull/819#issuecomment-484594841
2019-04-19 10:07:17 +02:00
84a837ce11 Bumped v7.0.0-rc.2 2019-04-17 14:16:43 +02:00
dc009dc3a5 Use Elasticsearch 7.0.0 (#820) 2019-04-17 14:13:04 +02:00
d4f4b47d7e Updated typings (#819) 2019-04-17 11:24:28 +02:00
cfd4e70fb9 Drop Node.js v6 support (#818)
Node.js v6 will go EOL at the end of April 2019, and already two of the production dependencies of the client have already dropped support for it, and soon others will do *(as well as development dependencies)*.

Furthermore, since Node.js will go in EOL it will never get security patches, plus, also OpenSSL-1.0.2 will go EOL [this year](https://github.com/nodejs/Release#release-schedule); to avoid risks for the client users it is better to drop support for Node.js v6 right away.
2019-04-17 11:24:28 +02:00
68f8b7bb5f Fix a typo in usage example (#806) 2019-04-11 08:27:57 +02:00
777e438482 API generation 2019-04-10 11:44:12 +02:00
29beb44bf5 Improve typings (#813)
The ApiResponse now accepts a generics that defaults to any, same for every API method that might need a body.
2019-04-10 11:43:14 +02:00
ef3126b361 Custom http agent support (#810) 2019-04-10 11:42:51 +02:00
6cc2b21ce2 Use Elasticsearch 7.0.0-rc2 2019-04-09 12:10:10 +02:00
02c656c364 Support for publish_address as hostname/ip:port (#804) 2019-04-09 12:06:22 +02:00
77fcca871f Updated README.md 2019-04-01 09:50:23 +02:00
ca0b33a2b0 Handle bulk errors in examples 2019-04-01 09:08:58 +02:00
74c37e5b2d Generated reference 2019-03-29 18:08:28 +01:00
0e47cb88eb Docs: Fix ingest doc links (#801)
The ingest docs in Elasticsearch doing point to the actual ingest APIs.
This makes up generate links to the real APIs instead, fixing some
broken links in the 5.x docs in the process.
2019-03-29 18:07:55 +01:00
f97208214e Generated reference 2019-03-29 15:46:44 +01:00
6f4a8bbe6a Docs: Handle more funny cases from ES api spec (#800)
Handles a few "special" doc urls from ES's api spec files. These are
only a problem in 6.x but we'd like to keep the generateDocs script the
same across all branches for easier backporting.
2019-03-29 15:46:17 +01:00
c0264393a1 Update asciidoc config 2019-03-29 15:41:57 +01:00
92bcf46ab4 Generated reference 2019-03-29 08:51:54 +01:00
af544e8a55 Docs: Fix the API reference (#799) 2019-03-29 08:50:57 +01:00
fbf804869f Bumped v7.0.0-rc.1 2019-03-28 19:28:09 +01:00
f3422a6f43 Fix docs (#796)
Follow up of https://github.com/elastic/docs/pull/701.
2019-03-28 17:36:08 +01:00
f2c43a843b Updated CONTRIBUTING.md (#794)
As titled, also renamed the script files for a better DX.
2019-03-28 10:11:04 +01:00
1f6c68df9c v7.0.0-rc1 support 🚀 (#792)
Support for Elasticsearch `v7.0.0-rc1`
2019-03-28 08:32:24 +01:00
c7675708de Added CONTRIBUTING.md and CODE_OF_CONDUCT.md 2019-03-27 16:48:12 +01:00
e897d8f050 Improved integration test runner 2019-03-27 15:00:21 +01:00
4537308c38 Doc updates (#791)
Updates for better displaying the documentation in the website.
2019-03-27 07:45:31 +01:00
3a1bb9377a Merge branch 'master' into 7.x 2019-03-26 12:06:04 +01:00
e185a0b08c Remove url in jenkins job configuration 2019-03-21 11:16:21 -04:00
9b111ee664 CI config (#786)
* Updated ci config

* Minor fixes

* Minor fixes

* Added Node v11
2019-03-21 11:03:35 +01:00
367f16c0ba Updated ci config 2019-03-19 14:16:56 +01:00
1d61cba014 Inspect Connection (#784)
Handles `console.log` and `utils.inspect` invocations for a better debugging experience.

`agent` and `ssl` are hidden since they made the logs very hard to read.
The user can still access them with `instance.agent` and `instance.ssl`.
2019-03-19 09:53:43 +01:00
358474bca8 Feat: Support bundlers (#783)
With this change, we support code bundlers, such as webpack.
Fixes: https://github.com/elastic/elasticsearch-js/issues/781
2019-03-19 09:53:43 +01:00
c0027b3958 Added a note about the new client 2019-03-19 09:53:43 +01:00
68c4dd29fb feat: add support for querystring in options object (#779)
In very few cases, some API uses the same key for both url and query params, such as the bulk method.
The client is not designed to handle such cases since accepts both url and query keys in the same object, and the url parameter will always take precedence.
This pr fixes this edge case by adding a `querystring` key in the options object.

Fixes: https://github.com/elastic/elasticsearch-js/pull/778

```js
client.bulk({
  index: 'index',
  type: '_doc',
  body: [...]
}, {
  querystring: {
    type: '_doc'
  }
}, console.log)
```
2019-03-19 09:53:43 +01:00
a3e3d57247 Updated coverage script 2019-03-15 17:49:24 +01:00
c3966cacab Added codecov badge 2019-03-15 17:49:24 +01:00
048933f106 Updated ignore files 2019-03-15 17:49:24 +01:00
91935905b6 Added codecov (#777) 2019-03-15 17:49:24 +01:00
0f5ac8127c Updated README 2019-03-14 18:33:22 +01:00
99e1dc3b39 API generation 2019-03-13 14:13:53 +01:00
e98cab1a34 Revert d4d7d0bef5 2019-03-13 14:13:32 +01:00
392 changed files with 16123 additions and 20571 deletions

View File

@ -22,7 +22,7 @@ services:
- elasticsearch-oss - elasticsearch-oss
elasticsearch-oss: elasticsearch-oss:
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION:-7.0.0-beta1} image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION:-8.0.0-SNAPSHOT}
volumes: volumes:
- esvol:/tmp - esvol:/tmp
networks: networks:
@ -58,7 +58,7 @@ services:
command: ["npm", "run", "test:integration"] command: ["npm", "run", "test:integration"]
elasticsearch-platinum: elasticsearch-platinum:
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION:-7.0.0-beta1} image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION:-8.0.0-SNAPSHOT}
ports: ports:
- "9200:9200" - "9200:9200"
networks: networks:

View File

@ -65,3 +65,6 @@
publishers: publishers:
- email: - email:
recipients: infra-root+build@elastic.co recipients: infra-root+build@elastic.co
# - junit:
# results: "*-junit.xml"
# allow-empty-results: true

View File

@ -0,0 +1,14 @@
---
- job:
name: elastic+elasticsearch-js+7.3
display-name: 'elastic / elasticsearch-js # 7.3'
description: Testing the elasticsearch-js 7.3 branch.
parameters:
- string:
name: branch_specifier
default: refs/heads/7.3
description: the Git branch specifier to build (&lt;branchName&gt;, &lt;tagName&gt;,
&lt;commitId&gt;, etc.)
triggers:
- github
- timed: '@weekly'

View File

@ -0,0 +1,54 @@
---
- job:
name: elastic+elasticsearch-js+jenkins-pipelines
display-name: 'elastic / elasticsearch-js # jenkins-pipelines'
description: Testing the elasticsearch-js jenkins-pipelines branch.
project-type: multibranch
logrotate:
daysToKeep: 30
numToKeep: 100
number-to-keep: '5'
days-to-keep: '1'
concurrent: true
node: linux
script-path: Jenkinsfile
scm:
- github:
branch-discovery: all
discover-pr-forks-strategy: merge-current
discover-pr-forks-trust: permission
discover-pr-origin: merge-current
discover-tags: true
repo: elasticsearch-js
repo-owner: elastic
credentials-id: 2a9602aa-ab9f-4e52-baf3-b71ca88469c7-UserAndToken
ssh-checkout:
credentials: f6c7695a-671e-4f4f-a331-acdce44ff9ba
build-strategies:
- tags:
ignore-tags-older-than: -1
ignore-tags-newer-than: -1
- regular-branches: true
- change-request:
ignore-target-only-changes: false
clean:
after: true
before: true
prune: true
shallow-clone: true
depth: 3
do-not-fetch-tags: true
submodule:
disable: false
recursive: true
parent-credentials: true
timeout: 100
timeout: '15'
use-author: true
wipe-workspace: 'True'
periodic-folder-trigger: 1d
prune-dead-branches: true
publishers:
- email:
recipients: infra-root+build@elastic.co

View File

@ -1,11 +1,10 @@
--- ---
ELASTICSEARCH_VERSION: ELASTICSEARCH_VERSION:
- 7.0.0-beta1 - 7.3.0
NODE_JS_VERSION: NODE_JS_VERSION:
- 11 - 12
- 10 - 10
- 8 - 8
- 6
exclude: ~ exclude: ~

View File

@ -3,7 +3,7 @@
#### You have already researched for similar issues? #### You have already researched for similar issues?
It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one. It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one.
#### Are you sure this is an issue with @elastic/elasticsearch or are you just looking for some help? #### Are you sure this is an issue with `@elastic/elasticsearch` or are you just looking for some help?
Issues should only be posted in this repository after you have been able to reproduce them and confirm that they are a bug or incorrect/missing information in the [docs](https://github.com/elastic/elasticsearch-js/docs). Issues should only be posted in this repository after you have been able to reproduce them and confirm that they are a bug or incorrect/missing information in the [docs](https://github.com/elastic/elasticsearch-js/docs).

View File

@ -23,6 +23,14 @@ Paste your code here:
``` ```
<!--
In some cases, it might be challenging to reproduce the bug in a few lines of code.
You can fork the following repository, which contains all the configuration needed
to spin up a three nodes Elasticsearch cluster with security enabled.
The repository also contains a preconfigured client instance that you can use to reproduce the issue.
https://github.com/delvedor/es-reproduce-issue
--->
## Expected behavior ## Expected behavior
A clear and concise description of what you expected to happen. A clear and concise description of what you expected to happen.
@ -36,6 +44,6 @@ Paste the results here:
## Your Environment ## Your Environment
- *node version*: 6,8,10 - *node version*: 6,8,10
- *@elastic/elasticsearch version*: >=7.0.0 - `@elastic/elasticsearch` *version*: >=7.0.0
- *os*: Mac, Windows, Linux - *os*: Mac, Windows, Linux
- *any other relevant information* - *any other relevant information*

View File

@ -29,6 +29,14 @@ Paste your code here:
``` ```
<!--
In some cases, it might be challenging to reproduce the bug in a few lines of code.
You can fork the following repository, which contains all the configuration needed
to spin up a three nodes Elasticsearch cluster with security enabled.
The repository also contains a preconfigured client instance that you can use to reproduce the issue.
https://github.com/delvedor/es-reproduce-issue
--->
## Expected behavior ## Expected behavior
A clear and concise description of what you expected to happen. A clear and concise description of what you expected to happen.
@ -42,6 +50,6 @@ Paste the results here:
## Your Environment ## Your Environment
- *node version*: 6,8,10 - *node version*: 6,8,10
- *@elastic/elasticsearch version*: >=7.0.0 - `@elastic/elasticsearch` *version*: >=7.0.0
- *os*: Mac, Windows, Linux - *os*: Mac, Windows, Linux
- *any other relevant information* - *any other relevant information*

1
.github/stale.yml vendored
View File

@ -9,6 +9,7 @@ exemptLabels:
- "discussion" - "discussion"
- "feature request" - "feature request"
- "bug" - "bug"
- "todo"
# Label to use when marking an issue as stale # Label to use when marking an issue as stale
staleLabel: stale staleLabel: stale

6
.gitignore vendored
View File

@ -50,8 +50,6 @@ package-lock.json
# elasticsearch repo or binary files # elasticsearch repo or binary files
elasticsearch* elasticsearch*
# Generated typings, we don't commit them
# because we should copy them in the main .d.ts file
api/generated.d.ts
test/benchmarks/macro/fixtures/* test/benchmarks/macro/fixtures/*
*-junit.xml

View File

@ -67,3 +67,6 @@ scripts
.ci .ci
.travis.yml .travis.yml
certs certs
.github
CODE_OF_CONDUCT.md
CONTRIBUTING.md

View File

@ -1,29 +1,20 @@
dist: trusty
sudo: required
language: node_js language: node_js
node_js: node_js:
- "12"
- "10" - "10"
- "8" - "8"
- "6"
env: os:
global: - windows
- ELASTICSEARCH_VERSION=7.0.0-beta1 - linux
- QUIET=true
before_install:
- wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ELASTICSEARCH_VERSION}-linux-x86_64.tar.gz
- tar -xzf elasticsearch-${ELASTICSEARCH_VERSION}-linux-x86_64.tar.gz
- ./elasticsearch-${ELASTICSEARCH_VERSION}/bin/elasticsearch -Enode.attr.testattr=test -Epath.repo=/tmp -Erepositories.url.allowed_urls='http://snapshot.*' &> /dev/null &
install: install:
- npm install - npm install
script: script:
- npm run ci - if [ "$TRAVIS_OS_NAME" = "linux" ]; then npm run license-checker; fi
- npm run test
notifications: notifications:
email: email:

3
CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,3 @@
303 See Other
Location: https://www.elastic.co/community/codeofconduct

100
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,100 @@
# Contributing to the Elasticsearch Node.js client
The Elasticsearch Node.js client is open source and we love to receive contributions from our community — you!
There are many ways to contribute,
from writing tutorials or blog posts,
improving the documentation,
submitting bug reports and feature requests or writing code.
## Repository structure
The `master` branch is considered unstable, and it's compatible with Elasticsearch master. Unless you are patching an issue, new features should always be sent to the `master` branch, in case of a bugfix, it depends if the bug affects all the release lines.<br/>
There is a branch for every supported release line, such as `7.x` or `6.x`. We release bugfixes as soon as possible, while minor and major releases are published at the same time of the Elastic Stack.
Usually for every release line there will be a *published* version and a *next* version. Eg: the `7.x` branch contains the version published on npm, and bugfixes should be sent there, while `7.2` *(assuming that 7.1.x is released)* contains the next version, and new features should be sent there.
## Code contributions
If you have a bugfix or new feature that you would like to contribute,
please find or open an issue about it first.
Talk about what you would like to do.
It may be that somebody is already working on it,
or that there are particular issues that you should know about before implementing the change.
Note that we strictly follow the [Elastic EOL schedule](https://www.elastic.co/support/eol).
### Submitting your changes
Generally, we require that you test any code you are adding or modifying.
Once your changes are ready to submit for review:
1. Test your changes
Run the test suite to make sure that nothing is broken.
Usually run `npm test` is enough, our CI will take care of running the integration test. If you want to run the integration test yourself, see the *Testing* section below.
2. Submit a pull request
Push your local changes to your forked copy of the repository and [submit a pull request](https://help.github.com/articles/using-pull-requests).
In the pull request,
choose a title which sums up the changes that you have made,
and in the body provide more details about what your changes do.
Also mention the number of the issue where discussion has taken place,
eg "Closes #123".
3. Sign the Contributor License Agreement
Please make sure you have signed our [Contributor License Agreement](https://www.elastic.co/contributor-agreement/).
We are not asking you to assign copyright to us,
but to give us the right to distribute your code without restriction.
We ask this of all contributors in order to assure our users of the origin and continuing existence of the code.
You only need to sign the CLA once.
4. Be patient
We might not be able to review your code as fast as we would like to,
but we'll do our best to dedicate it the attention it deserves.
Your effort is much appreciated!
### Code generation
The entire content of the API folder is generated as well as the `docs/reference.asciidoc` file.<br/>
If you want to run the code generation you should run the following command:
```sh
node scripts/generate --tag <tag name>
# or
node scripts/generate --branch <branch name>
```
Then you should copy the content of `api/generated.d.ts` into the `index.d.ts` file *(automate this step would be a nice pr!)*.
### Testing
There are different test scripts, usually during development you only need to run `npm test`, but if you want you can run just a part of the suite, following you will find all the testing scripts and what they do.
| Script | Description |
|---|---|
| `npm run test:unit` | Runs the content of the `test/unit` folder. |
| `npm run test:behavior` | Runs the content of the `test/behavior` folder. |
| `npm run test:types` | Runs the content of the `test/types` folder. |
| `npm run test:unit -- --cov --coverage-report=html` | Runs the content of the `test/unit` folder and calculates the code coverage. |
| `npm run test:integration` | Runs the integration test runner.<br/>*Note: it requires a living instance of Elasticsearch.* |
| `npm run lint` | Run the [linter](https://standardjs.com/). |
| `npm run lint:fix` | Fixes the lint errors. |
| `npm test` | Runs lint, unit, behavior, and types test. |
#### Integration test
The integration test are generated on the fly by the runner you will find inside `test/integration`, once you execute it, it will clone the Elasticsearch repository and checkout the correct version to grab the [OSS yaml files](https://github.com/elastic/elasticsearch/tree/master/rest-api-spec/src/main/resources/rest-api-spec/test) and the [Elastic licensed yaml files](https://github.com/elastic/elasticsearch/tree/master/x-pack/plugin/src/test/resources/rest-api-spec/test) that will be used for generating the test.
Usually this step is executed by CI since it takes some time, but you can easily run this yourself! Just follow this steps:
1. Boot an Elasticsearch instance, you can do that by running `./scripts/es-docker.sh` or `./scripts/es-docker-platinum.sh`, the first one will work only with the OSS APIs, while the second will work also with the Elastic licensed APIs;
1. If you are running the OSS test, you should use `npm run test:integration`, otherwise use `TEST_ES_SERVER=https://elastic:changeme@localhost:9200 npm run test:integration`. You can also pass a `-b` parameter if you want the test to bail out at the first failure: `npm run test:integration -- -b`;
1. Grab a coffee, it will take some time ;)
### Releasing
If you have access to make releases, the process is as follows:
1. Update the version in `package.json` according to the scale of the change. (major, minor or patch)
1. Commit changes with message `Bumped vx.y.z` where `x.y.z` is the version in `package.json`
1. Create a release via the GitHub UI.
1. Wait for CI to finish running the test.
1. Publish to npm with `npm publish` *(see [publish](https://docs.npmjs.com/cli/publish) and [dist-tag](https://docs.npmjs.com/cli/dist-tag) docs)*

219
README.md
View File

@ -1,24 +1,24 @@
<img align="right" width="auto" height="auto" src="https://www.elastic.co/static-res/images/elastic-logo-200.png"> <img align="right" width="auto" height="auto" src="https://www.elastic.co/static-res/images/elastic-logo-200.png">
# @elastic/elasticsearch # Elasticsearch Node.js client
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/) [![Build Status](https://clients-ci.elastic.co/job/elastic+elasticsearch-js+master/badge/icon)](https://clients-ci.elastic.co/job/elastic+elasticsearch-js+master/) [![codecov](https://codecov.io/gh/elastic/elasticsearch-js/branch/master/graph/badge.svg)](https://codecov.io/gh/elastic/elasticsearch-js) [![NPM downloads](https://img.shields.io/npm/dm/@elastic/elasticsearch.svg?style=flat)](https://www.npmjs.com/package/@elastic/elasticsearch) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/) [![Build Status](https://clients-ci.elastic.co/job/elastic+elasticsearch-js+master/badge/icon)](https://clients-ci.elastic.co/job/elastic+elasticsearch-js+master/) [![codecov](https://codecov.io/gh/elastic/elasticsearch-js/branch/master/graph/badge.svg)](https://codecov.io/gh/elastic/elasticsearch-js) [![NPM downloads](https://img.shields.io/npm/dm/@elastic/elasticsearch.svg?style=flat)](https://www.npmjs.com/package/@elastic/elasticsearch)
---
**Note:** In the past months we have worked on the new Elasticsearch Node.js client, we will announce it soon!
If you want you can already try it by following the instructions below, while if you're going to use the legacy one or report an issue, please check out [elastic/elasticsearch-js-legacy](https://github.com/elastic/elasticsearch-js-legacy).
---
The official Node.js client for Elasticsearch. The official Node.js client for Elasticsearch.
---
**Note:** In the past months we have worked on the new Elasticsearch Node.js client and you can use it by following the instructions below. If you're going to use the legacy one or report an issue, however, please check out [elastic/elasticsearch-js-legacy](https://github.com/elastic/elasticsearch-js-legacy).
---
## Features ## Features
- One-to-one mapping with REST API. - One-to-one mapping with REST API.
- Generalized, pluggable architecture. - Generalized, pluggable architecture.
- Configurable, automatic discovery of cluster nodes. - Configurable, automatic discovery of cluster nodes.
- Persistent, Keep-Alive connections. - Persistent, Keep-Alive connections.
- Load balancing (with pluggable selection strategy) across all available nodes. - Load balancing across all available nodes.
- Child client support.
- TypeScript support out of the box. - TypeScript support out of the box.
## Install ## Install
@ -28,30 +28,51 @@ npm install @elastic/elasticsearch
### Compatibility ### Compatibility
--- The minimum supported version of Node.js is `v8`.
**Warning:** currently on npm you will only find a beta release that works with Elasticsearch 7, we will add the support for Elasticsearch 5, 6, and 7 once we release the final version of this library. The library is compatible with all Elasticsearch versions since 5.x, and you should use the same major version of the Elasticsearch instance that you are using.
--- | Elasticsearch Version | Client Version |
| --------------------- |----------------|
| `master` | `master` |
| `7.x` | `7.x` |
| `6.x` | `6.x` |
| `5.x` | `5.x` |
The library is compatible with all Elasticsearch versions since 5.x, but you should use the same major version of the Elasticsearch instance that you are using. To install a specific major of the client, run the following command:
``` ```
# Elasticsearch 7.x npm install @elastic/elasticsearch@<major>
@elastic/elasticsearch@7
# Elasticsearch 6.x
@elastic/elasticsearch@6
# Elasticsearch 5.x
@elastic/elasticsearch@5
``` ```
## Usage #### Browser
You can find the full documentation in the [docs](https://github.com/elastic/elasticsearch-js/tree/master/docs) folder.
WARNING: There is no official support for the browser environment. It exposes your Elasticsearch instance to everyone, which could lead to security issues.
We recommend that you write a lightweight proxy that uses this client instead.
## Documentation
- [Introduction](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/introduction.html)
- [Usage](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-usage.html)
- [Client configuration](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-configuration.html)
- [API reference](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html)
- [Breaking changes coming from the old client](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/breaking-changes.html)
- [Authentication](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/auth-reference.html)
- [Observability](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/observability.html)
- [Creating a child client](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/child-client.html)
- [Extend the client](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/extend-client.html)
- [Typescript support](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/typescript.html)
- [Examples](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/examples.html)
## Quick start
First of all, require the client and initialize it:
```js ```js
const { Client } = require('@elastic/elasticsearch') const { Client } = require('@elastic/elasticsearch')
const client = new Client({ node: 'http://localhost:9200' }) const client = new Client({ node: 'http://localhost:9200' })
```
You can use both the callback-style API and the promise-style API, both behave the same way.
```js
// promise API // promise API
const result = await client.search({ const result = await client.search({
index: 'my-index', index: 'my-index',
@ -76,77 +97,99 @@ The returned value of **every** API call is formed as follows:
meta: object meta: object
} }
``` ```
### Client options
The client is designed to be easily configured as you see fit for your needs, following you can see all the possible options that you can use to configure it. Let's see a complete example!
```ts ```js
{ 'use strict'
// the Elasticsearch endpoint to use
node: string | string[]; const { Client } = require('@elastic/elasticsearch')
// alias of above const client = new Client({ node: 'http://localhost:9200' })
nodes: string | string[];
// custom connection class async function run () {
Connection: typeof Connection; // Let's start by indexing some data
// custom connection pool class await client.index({
ConnectionPool: typeof ConnectionPool; index: 'game-of-thrones',
// custom transport class // type: '_doc', // uncomment this line if you are using Elasticsearch ≤ 6
Transport: typeof Transport; body: {
// custom serializer class character: 'Ned Stark',
Serializer: typeof Serializer; quote: 'Winter is coming.'
// max number of retries for each request }
maxRetries: number; })
// max request timeout for each request
requestTimeout: number; await client.index({
// max ping timeout for each request index: 'game-of-thrones',
pingTimeout: number; // type: '_doc', // uncomment this line if you are using Elasticsearch ≤ 6
// perform a sniff operation every `n` milliseconds body: {
sniffInterval: number; character: 'Daenerys Targaryen',
// perform a sniff once the client is started quote: 'I am the blood of the dragon.'
sniffOnStart: boolean; }
// custom sniff endpoint, defaults `_nodes/_all/http` })
sniffEndpoint: string;
// perform a sniff on connection fault await client.index({
sniffOnConnectionFault: boolean; index: 'game-of-thrones',
// configurethe node resurrection strategy, default `ping` // type: '_doc', // uncomment this line if you are using Elasticsearch ≤ 6
resurrectStrategy: 'ping' | 'optimistic' | 'none'; body: {
// adds `accept-encoding` header to every request character: 'Tyrion Lannister',
suggestCompression: boolean; quote: 'A mind needs books like a sword needs a whetstone.'
// enable gzip request body compression }
compression: 'gzip'; })
// ssl configuraton
ssl: http.SecureContextOptions; // here we are forcing an index refresh, otherwise we will not
// http agent options // get any result in the consequent search
agent: http.AgentOptions; await client.indices.refresh({ index: 'game-of-thrones' })
// filters which node not to use for a request
nodeFilter: nodeFilterFn; // Let's search!
// custom selection strategy, defaults `round-robin` const { body } = await client.search({
nodeSelector: nodeSelectorFn | string; index: 'game-of-thrones',
// type: '_doc', // uncomment this line if you are using Elasticsearch ≤ 6
body: {
query: {
match: { quote: 'winter' }
}
}
})
console.log(body.hits.hits)
} }
run().catch(console.log)
``` ```
### Request specific options ## Install multiple versions
If needed you can pass request specific options in a second object: If you are using multiple versions of Elasticsearch, you need to use multiple versions of the client. In the past, install multiple versions of the same package was not possible, but with `npm v6.9`, you can do that via aliasing.
```js
// promise API The command you must run to install different version of the client is:
const result = await client.search({ ```sh
index: 'my-index', npm install <alias>@npm:@elastic/elasticsearch@<version>
body: { foo: 'bar' }
}, {
ignore: [404],
maxRetries: 3
})
``` ```
The supported *request specific options* are: So for example if you need to install `7.x` and `6.x`, you will run
```ts ```sh
{ npm install es6@npm:@elastic/elasticsearch@6
ignore: [number], // default `null` npm install es7@npm:@elastic/elasticsearch@7
requestTimeout: number, // client default ```
maxRetries: number, // default `5` And your `package.json` will look like the following:
asStream: boolean, // default `false` ```json
compression: string, // default `false` "dependencies": {
headers: object, // default `null` "es6": "npm:@elastic/elasticsearch@^6.7.0",
querystring: object // default `null` "es7": "npm:@elastic/elasticsearch@^7.0.0"
} }
``` ```
You will require the packages from your code by using the alias you have defined.
```js
const { Client: Client6 } = require('es6')
const { Client: Client7 } = require('es7')
const client6 = new Client6({ node: 'http://localhost:9200' })
const client7 = new Client7({ node: 'http://localhost:9201' })
client6.info(console.log)
client7.info(console.log)
```
Finally, if you want to install the client for the next version of Elasticsearch *(the one that lives in Elasticsearchs master branch)*, you can use the following command:
```sh
npm install esmaster@github:elastic/elasticsearch-js
```
## License ## License

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildBulk (opts) { function buildBulk (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [bulk](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-bulk.html) request * Perform a [bulk](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-bulk.html) request
* *
@ -50,7 +35,9 @@ function buildBulk (opts) {
'type', 'type',
'_source', '_source',
'_source_excludes', '_source_excludes',
'_source_exclude',
'_source_includes', '_source_includes',
'_source_include',
'pipeline', 'pipeline',
'pretty', 'pretty',
'human', 'human',
@ -62,7 +49,9 @@ function buildBulk (opts) {
const snakeCase = { const snakeCase = {
waitForActiveShards: 'wait_for_active_shards', waitForActiveShards: 'wait_for_active_shards',
_sourceExcludes: '_source_excludes', _sourceExcludes: '_source_excludes',
_sourceExclude: '_source_exclude',
_sourceIncludes: '_source_includes', _sourceIncludes: '_source_includes',
_sourceInclude: '_source_include',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
} }
@ -97,17 +86,17 @@ function buildBulk (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index, type } = params var { method, body, index, type, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index', 'type']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -128,34 +117,8 @@ function buildBulk (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatAliases (opts) { function buildCatAliases (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.aliases](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-alias.html) request * Perform a [cat.aliases](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-alias.html) request
* *
@ -83,17 +68,17 @@ function buildCatAliases (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, name } = params var { method, body, name, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'name']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -112,34 +97,8 @@ function buildCatAliases (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatAllocation (opts) { function buildCatAllocation (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.allocation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-allocation.html) request * Perform a [cat.allocation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-allocation.html) request
* *
@ -85,17 +70,17 @@ function buildCatAllocation (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, nodeId, node_id } = params var { method, body, nodeId, node_id, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'nodeId', 'node_id']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -114,34 +99,8 @@ function buildCatAllocation (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatCount (opts) { function buildCatCount (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.count](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-count.html) request * Perform a [cat.count](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-count.html) request
* *
@ -83,17 +68,17 @@ function buildCatCount (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -112,34 +97,8 @@ function buildCatCount (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatFielddata (opts) { function buildCatFielddata (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.fielddata](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-fielddata.html) request * Perform a [cat.fielddata](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-fielddata.html) request
* *
@ -87,17 +72,17 @@ function buildCatFielddata (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, fields } = params var { method, body, fields, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'fields']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -116,34 +101,8 @@ function buildCatFielddata (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatHealth (opts) { function buildCatHealth (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.health](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-health.html) request * Perform a [cat.health](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-health.html) request
* *
@ -84,17 +69,17 @@ function buildCatHealth (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -109,34 +94,8 @@ function buildCatHealth (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatHelp (opts) { function buildCatHelp (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.help](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat.html) request * Perform a [cat.help](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat.html) request
* *
@ -71,17 +56,17 @@ function buildCatHelp (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -96,34 +81,8 @@ function buildCatHelp (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatIndices (opts) { function buildCatIndices (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.indices](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-indices.html) request * Perform a [cat.indices](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-indices.html) request
* *
@ -39,6 +24,7 @@ function buildCatIndices (opts) {
* @param {boolean} pri - Set to true to return stats only for primary shards * @param {boolean} pri - Set to true to return stats only for primary shards
* @param {list} s - Comma-separated list of column names or column aliases to sort by * @param {list} s - Comma-separated list of column names or column aliases to sort by
* @param {boolean} v - Verbose mode. Display column headers * @param {boolean} v - Verbose mode. Display column headers
* @param {boolean} include_unloaded_segments - If set to true segment stats will include stats for segments that are not currently loaded into memory
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
@ -52,6 +38,7 @@ function buildCatIndices (opts) {
'pri', 'pri',
's', 's',
'v', 'v',
'include_unloaded_segments',
'pretty', 'pretty',
'human', 'human',
'error_trace', 'error_trace',
@ -61,6 +48,7 @@ function buildCatIndices (opts) {
const snakeCase = { const snakeCase = {
masterTimeout: 'master_timeout', masterTimeout: 'master_timeout',
includeUnloadedSegments: 'include_unloaded_segments',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
} }
@ -89,17 +77,17 @@ function buildCatIndices (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -118,34 +106,8 @@ function buildCatIndices (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatMaster (opts) { function buildCatMaster (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.master](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-master.html) request * Perform a [cat.master](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-master.html) request
* *
@ -82,17 +67,17 @@ function buildCatMaster (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -107,34 +92,8 @@ function buildCatMaster (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatNodeattrs (opts) { function buildCatNodeattrs (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.nodeattrs](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodeattrs.html) request * Perform a [cat.nodeattrs](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodeattrs.html) request
* *
@ -82,17 +67,17 @@ function buildCatNodeattrs (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -107,34 +92,8 @@ function buildCatNodeattrs (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatNodes (opts) { function buildCatNodes (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.nodes](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodes.html) request * Perform a [cat.nodes](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodes.html) request
* *
@ -85,17 +70,17 @@ function buildCatNodes (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -110,34 +95,8 @@ function buildCatNodes (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatPendingTasks (opts) { function buildCatPendingTasks (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.pending_tasks](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-pending-tasks.html) request * Perform a [cat.pending_tasks](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-pending-tasks.html) request
* *
@ -82,17 +67,17 @@ function buildCatPendingTasks (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -107,34 +92,8 @@ function buildCatPendingTasks (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatPlugins (opts) { function buildCatPlugins (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.plugins](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-plugins.html) request * Perform a [cat.plugins](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-plugins.html) request
* *
@ -82,17 +67,17 @@ function buildCatPlugins (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -107,34 +92,8 @@ function buildCatPlugins (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatRecovery (opts) { function buildCatRecovery (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.recovery](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-recovery.html) request * Perform a [cat.recovery](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-recovery.html) request
* *
@ -83,17 +68,17 @@ function buildCatRecovery (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -112,34 +97,8 @@ function buildCatRecovery (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatRepositories (opts) { function buildCatRepositories (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.repositories](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-repositories.html) request * Perform a [cat.repositories](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-repositories.html) request
* *
@ -82,17 +67,17 @@ function buildCatRepositories (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -107,34 +92,8 @@ function buildCatRepositories (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatSegments (opts) { function buildCatSegments (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.segments](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-segments.html) request * Perform a [cat.segments](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-segments.html) request
* *
@ -80,17 +65,17 @@ function buildCatSegments (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -109,34 +94,8 @@ function buildCatSegments (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatShards (opts) { function buildCatShards (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.shards](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-shards.html) request * Perform a [cat.shards](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-shards.html) request
* *
@ -85,17 +70,17 @@ function buildCatShards (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -114,34 +99,8 @@ function buildCatShards (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatSnapshots (opts) { function buildCatSnapshots (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.snapshots](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-snapshots.html) request * Perform a [cat.snapshots](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-snapshots.html) request
* *
@ -84,17 +69,17 @@ function buildCatSnapshots (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, repository } = params var { method, body, repository, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'repository']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -113,34 +98,8 @@ function buildCatSnapshots (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatTasks (opts) { function buildCatTasks (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.tasks](http://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html) request * Perform a [cat.tasks](http://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html) request
* *
@ -87,17 +72,17 @@ function buildCatTasks (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -112,34 +97,8 @@ function buildCatTasks (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatTemplates (opts) { function buildCatTemplates (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.templates](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-templates.html) request * Perform a [cat.templates](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-templates.html) request
* *
@ -83,17 +68,17 @@ function buildCatTemplates (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, name } = params var { method, body, name, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'name']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -112,34 +97,8 @@ function buildCatTemplates (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCatThreadPool (opts) { function buildCatThreadPool (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cat.thread_pool](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-thread-pool.html) request * Perform a [cat.thread_pool](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-thread-pool.html) request
* *
@ -85,17 +70,17 @@ function buildCatThreadPool (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, threadPoolPatterns, thread_pool_patterns } = params var { method, body, threadPoolPatterns, thread_pool_patterns, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'threadPoolPatterns', 'thread_pool_patterns']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -114,34 +99,8 @@ function buildCatThreadPool (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCcrDeleteAutoFollowPattern (opts) { function buildCcrDeleteAutoFollowPattern (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ccr.delete_auto_follow_pattern](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-delete-auto-follow-pattern.html) request * Perform a [ccr.delete_auto_follow_pattern](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-delete-auto-follow-pattern.html) request
* *
@ -63,17 +48,17 @@ function buildCcrDeleteAutoFollowPattern (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, name } = params var { method, body, name, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'name']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -88,34 +73,8 @@ function buildCcrDeleteAutoFollowPattern (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCcrFollow (opts) { function buildCcrFollow (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ccr.follow](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-follow.html) request * Perform a [ccr.follow](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-follow.html) request
* *
@ -69,17 +54,17 @@ function buildCcrFollow (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'PUT' method = 'PUT'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -94,34 +79,8 @@ function buildCcrFollow (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCcrFollowInfo (opts) { function buildCcrFollowInfo (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ccr.follow_info](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-info.html) request * Perform a [ccr.follow_info](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-info.html) request
* *
@ -57,17 +42,17 @@ function buildCcrFollowInfo (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -82,34 +67,8 @@ function buildCcrFollowInfo (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCcrFollowStats (opts) { function buildCcrFollowStats (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ccr.follow_stats](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-stats.html) request * Perform a [ccr.follow_stats](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-stats.html) request
* *
@ -51,23 +36,29 @@ function buildCcrFollowStats (opts) {
options = {} options = {}
} }
// check required parameters
if (params['index'] == null) {
const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback)
}
// validate headers object // validate headers object
if (options.headers != null && typeof options.headers !== 'object') { if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`) const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -82,34 +73,8 @@ function buildCcrFollowStats (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -0,0 +1,86 @@
// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildCcrForgetFollower (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/**
* Perform a [ccr.forget_follower](http://www.elastic.co/guide/en/elasticsearch/reference/current) request
*
* @param {string} index - the name of the leader index for which specified follower retention leases should be removed
* @param {object} body - the name and UUID of the follower index, the name of the cluster containing the follower index, and the alias from the perspective of that cluster for the remote cluster containing the leader index
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ccrForgetFollower (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['index'] == null) {
const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback)
}
if (params['body'] == null) {
const err = new ConfigurationError('Missing required parameter: body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = []
var { method, body, index, ...querystring } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) {
method = 'POST'
}
var ignore = options.ignore
if (typeof ignore === 'number') {
options.ignore = [ignore]
}
var path = ''
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'forget_follower'
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
options.warnings = warnings.length === 0 ? null : warnings
return makeRequest(request, options, callback)
}
}
module.exports = buildCcrForgetFollower

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCcrGetAutoFollowPattern (opts) { function buildCcrGetAutoFollowPattern (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ccr.get_auto_follow_pattern](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-auto-follow-pattern.html) request * Perform a [ccr.get_auto_follow_pattern](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-auto-follow-pattern.html) request
* *
@ -57,17 +42,17 @@ function buildCcrGetAutoFollowPattern (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, name } = params var { method, body, name, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'name']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -86,34 +71,8 @@ function buildCcrGetAutoFollowPattern (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCcrPauseFollow (opts) { function buildCcrPauseFollow (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ccr.pause_follow](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-pause-follow.html) request * Perform a [ccr.pause_follow](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-pause-follow.html) request
* *
@ -63,17 +48,17 @@ function buildCcrPauseFollow (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -88,34 +73,8 @@ function buildCcrPauseFollow (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCcrPutAutoFollowPattern (opts) { function buildCcrPutAutoFollowPattern (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ccr.put_auto_follow_pattern](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-auto-follow-pattern.html) request * Perform a [ccr.put_auto_follow_pattern](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-auto-follow-pattern.html) request
* *
@ -68,17 +53,17 @@ function buildCcrPutAutoFollowPattern (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, name } = params var { method, body, name, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'name']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'PUT' method = 'PUT'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -93,34 +78,8 @@ function buildCcrPutAutoFollowPattern (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCcrResumeFollow (opts) { function buildCcrResumeFollow (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ccr.resume_follow](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-resume-follow.html) request * Perform a [ccr.resume_follow](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-resume-follow.html) request
* *
@ -64,17 +49,17 @@ function buildCcrResumeFollow (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -89,34 +74,8 @@ function buildCcrResumeFollow (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCcrStats (opts) { function buildCcrStats (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ccr.stats](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-stats.html) request * Perform a [ccr.stats](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-stats.html) request
* *
@ -56,17 +41,17 @@ function buildCcrStats (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -81,34 +66,8 @@ function buildCcrStats (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCcrUnfollow (opts) { function buildCcrUnfollow (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ccr.unfollow](http://www.elastic.co/guide/en/elasticsearch/reference/current) request * Perform a [ccr.unfollow](http://www.elastic.co/guide/en/elasticsearch/reference/current) request
* *
@ -63,17 +48,17 @@ function buildCcrUnfollow (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -88,34 +73,8 @@ function buildCcrUnfollow (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,9 +9,9 @@
function buildClearScroll (opts) { function buildClearScroll (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [clear_scroll](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-request-scroll.html) request * Perform a [clear_scroll](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-request-body.html#request-body-search-scroll) request
* *
* @param {list} scroll_id - A comma-separated list of scroll IDs to clear * @param {list} scroll_id - A comma-separated list of scroll IDs to clear
* @param {object} body - A comma-separated list of scroll IDs to clear if none was specified via the scroll_id parameter * @param {object} body - A comma-separated list of scroll IDs to clear if none was specified via the scroll_id parameter
@ -63,17 +48,17 @@ function buildClearScroll (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, scrollId, scroll_id } = params var { method, body, scrollId, scroll_id, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'scrollId', 'scroll_id']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -92,34 +77,8 @@ function buildClearScroll (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildClusterAllocationExplain (opts) { function buildClusterAllocationExplain (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cluster.allocation_explain](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-allocation-explain.html) request * Perform a [cluster.allocation_explain](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-allocation-explain.html) request
* *
@ -68,17 +53,17 @@ function buildClusterAllocationExplain (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = body == null ? 'GET' : 'POST' method = body == null ? 'GET' : 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -93,34 +78,8 @@ function buildClusterAllocationExplain (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildClusterGetSettings (opts) { function buildClusterGetSettings (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cluster.get_settings](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-update-settings.html) request * Perform a [cluster.get_settings](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-update-settings.html) request
* *
@ -78,17 +63,17 @@ function buildClusterGetSettings (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -103,34 +88,8 @@ function buildClusterGetSettings (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,11 +9,12 @@
function buildClusterHealth (opts) { function buildClusterHealth (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cluster.health](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-health.html) request * Perform a [cluster.health](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-health.html) request
* *
* @param {list} index - Limit the information returned to a specific index * @param {list} index - Limit the information returned to a specific index
* @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both.
* @param {enum} level - Specify the level of detail for returned information * @param {enum} level - Specify the level of detail for returned information
* @param {boolean} local - Return local information, do not retrieve the state from master node (default: false) * @param {boolean} local - Return local information, do not retrieve the state from master node (default: false)
* @param {time} master_timeout - Explicit operation timeout for connection to master node * @param {time} master_timeout - Explicit operation timeout for connection to master node
@ -42,6 +28,7 @@ function buildClusterHealth (opts) {
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
'expand_wildcards',
'level', 'level',
'local', 'local',
'master_timeout', 'master_timeout',
@ -60,6 +47,7 @@ function buildClusterHealth (opts) {
] ]
const snakeCase = { const snakeCase = {
expandWildcards: 'expand_wildcards',
masterTimeout: 'master_timeout', masterTimeout: 'master_timeout',
waitForActiveShards: 'wait_for_active_shards', waitForActiveShards: 'wait_for_active_shards',
waitForNodes: 'wait_for_nodes', waitForNodes: 'wait_for_nodes',
@ -95,17 +83,17 @@ function buildClusterHealth (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -124,34 +112,8 @@ function buildClusterHealth (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildClusterPendingTasks (opts) { function buildClusterPendingTasks (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cluster.pending_tasks](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-pending.html) request * Perform a [cluster.pending_tasks](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-pending.html) request
* *
@ -72,17 +57,17 @@ function buildClusterPendingTasks (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -97,34 +82,8 @@ function buildClusterPendingTasks (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildClusterPutSettings (opts) { function buildClusterPutSettings (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cluster.put_settings](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-update-settings.html) request * Perform a [cluster.put_settings](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-update-settings.html) request
* *
@ -76,17 +61,17 @@ function buildClusterPutSettings (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'PUT' method = 'PUT'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -101,34 +86,8 @@ function buildClusterPutSettings (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildClusterRemoteInfo (opts) { function buildClusterRemoteInfo (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cluster.remote_info](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-remote-info.html) request * Perform a [cluster.remote_info](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-remote-info.html) request
* *
@ -67,17 +52,17 @@ function buildClusterRemoteInfo (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -92,34 +77,8 @@ function buildClusterRemoteInfo (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildClusterReroute (opts) { function buildClusterReroute (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cluster.reroute](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-reroute.html) request * Perform a [cluster.reroute](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-reroute.html) request
* *
@ -77,17 +62,17 @@ function buildClusterReroute (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -102,34 +87,8 @@ function buildClusterReroute (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildClusterState (opts) { function buildClusterState (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cluster.state](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-state.html) request * Perform a [cluster.state](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-state.html) request
* *
@ -98,17 +83,17 @@ function buildClusterState (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index, metric } = params var { method, body, index, metric, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index', 'metric']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -129,34 +114,8 @@ function buildClusterState (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildClusterStats (opts) { function buildClusterStats (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [cluster.stats](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-stats.html) request * Perform a [cluster.stats](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-stats.html) request
* *
@ -73,17 +58,17 @@ function buildClusterStats (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, nodeId, node_id } = params var { method, body, nodeId, node_id, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'nodeId', 'node_id']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -102,34 +87,8 @@ function buildClusterStats (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCount (opts) { function buildCount (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [count](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-count.html) request * Perform a [count](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-count.html) request
* *
@ -106,17 +91,17 @@ function buildCount (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index, type } = params var { method, body, index, type, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index', 'type']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = body == null ? 'GET' : 'POST' method = body == null ? 'GET' : 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -137,34 +122,8 @@ function buildCount (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildCreate (opts) { function buildCreate (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [create](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html) request * Perform a [create](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html) request
* *
@ -32,7 +17,6 @@ function buildCreate (opts) {
* @param {string} index - The name of the index * @param {string} index - The name of the index
* @param {string} type - The type of the document * @param {string} type - The type of the document
* @param {string} wait_for_active_shards - Sets the number of shard copies that must be active before proceeding with the index operation. Defaults to 1, meaning the primary shard only. Set to `all` for all shard copies, otherwise set to any non-negative value less than or equal to the total number of copies for the shard (number of replicas + 1) * @param {string} wait_for_active_shards - Sets the number of shard copies that must be active before proceeding with the index operation. Defaults to 1, meaning the primary shard only. Set to `all` for all shard copies, otherwise set to any non-negative value less than or equal to the total number of copies for the shard (number of replicas + 1)
* @param {string} parent - ID of the parent document
* @param {enum} refresh - If `true` then refresh the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes. * @param {enum} refresh - If `true` then refresh the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes.
* @param {string} routing - Specific routing value * @param {string} routing - Specific routing value
* @param {time} timeout - Explicit operation timeout * @param {time} timeout - Explicit operation timeout
@ -44,7 +28,6 @@ function buildCreate (opts) {
const acceptedQuerystring = [ const acceptedQuerystring = [
'wait_for_active_shards', 'wait_for_active_shards',
'parent',
'refresh', 'refresh',
'routing', 'routing',
'timeout', 'timeout',
@ -97,17 +80,17 @@ function buildCreate (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, id, index, type } = params var { method, body, id, index, type, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'PUT' method = 'PUT'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -126,34 +109,8 @@ function buildCreate (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -0,0 +1,85 @@
// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildDataFrameDeleteDataFrameTransform (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/**
* Perform a [data_frame.delete_data_frame_transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-data-frame-transform.html) request
*
* @param {string} transform_id - The id of the transform to delete
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function dataFrameDeleteDataFrameTransform (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['transform_id'] == null && params['transformId'] == null) {
const err = new ConfigurationError('Missing required parameter: transform_id or transformId')
return handleError(err, callback)
}
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = []
var { method, body, transformId, transform_id, ...querystring } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) {
method = 'DELETE'
}
var ignore = options.ignore
if (typeof ignore === 'number') {
options.ignore = [ignore]
}
var path = ''
path = '/' + '_data_frame' + '/' + 'transforms' + '/' + encodeURIComponent(transform_id || transformId)
// build request object
const request = {
method,
path,
body: '',
querystring
}
options.warnings = warnings.length === 0 ? null : warnings
return makeRequest(request, options, callback)
}
}
module.exports = buildDataFrameDeleteDataFrameTransform

View File

@ -0,0 +1,90 @@
// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildDataFrameGetDataFrameTransform (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/**
* Perform a [data_frame.get_data_frame_transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-data-frame-transform.html) request
*
* @param {string} transform_id - The id or comma delimited list of id expressions of the transforms to get, '_all' or '*' implies get all transforms
* @param {int} from - skips a number of transform configs, defaults to 0
* @param {int} size - specifies a max number of transforms to get, defaults to 100
* @param {boolean} allow_no_match - Whether to ignore if a wildcard expression matches no data frame transforms. (This includes `_all` string or when no data frame transforms have been specified)
*/
const acceptedQuerystring = [
'from',
'size',
'allow_no_match'
]
const snakeCase = {
allowNoMatch: 'allow_no_match'
}
return function dataFrameGetDataFrameTransform (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = []
var { method, body, transformId, transform_id, ...querystring } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) {
method = 'GET'
}
var ignore = options.ignore
if (typeof ignore === 'number') {
options.ignore = [ignore]
}
var path = ''
if ((transform_id || transformId) != null) {
path = '/' + '_data_frame' + '/' + 'transforms' + '/' + encodeURIComponent(transform_id || transformId)
} else {
path = '/' + '_data_frame' + '/' + 'transforms'
}
// build request object
const request = {
method,
path,
body: null,
querystring
}
options.warnings = warnings.length === 0 ? null : warnings
return makeRequest(request, options, callback)
}
}
module.exports = buildDataFrameGetDataFrameTransform

View File

@ -0,0 +1,86 @@
// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildDataFrameGetDataFrameTransformStats (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/**
* Perform a [data_frame.get_data_frame_transform_stats](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-data-frame-transform-stats.html) request
*
* @param {string} transform_id - The id of the transform for which to get stats. '_all' or '*' implies all transforms
* @param {number} from - skips a number of transform stats, defaults to 0
* @param {number} size - specifies a max number of transform stats to get, defaults to 100
* @param {boolean} allow_no_match - Whether to ignore if a wildcard expression matches no data frame transforms. (This includes `_all` string or when no data frame transforms have been specified)
*/
const acceptedQuerystring = [
'from',
'size',
'allow_no_match'
]
const snakeCase = {
allowNoMatch: 'allow_no_match'
}
return function dataFrameGetDataFrameTransformStats (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = []
var { method, body, transformId, transform_id, ...querystring } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) {
method = 'GET'
}
var ignore = options.ignore
if (typeof ignore === 'number') {
options.ignore = [ignore]
}
var path = ''
path = '/' + '_data_frame' + '/' + 'transforms' + '/' + encodeURIComponent(transform_id || transformId) + '/' + '_stats'
// build request object
const request = {
method,
path,
body: null,
querystring
}
options.warnings = warnings.length === 0 ? null : warnings
return makeRequest(request, options, callback)
}
}
module.exports = buildDataFrameGetDataFrameTransformStats

View File

@ -0,0 +1,81 @@
// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildDataFramePreviewDataFrameTransform (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/**
* Perform a [data_frame.preview_data_frame_transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/preview-data-frame-transform.html) request
*
* @param {object} body - The definition for the data_frame transform to preview
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function dataFramePreviewDataFrameTransform (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['body'] == null) {
const err = new ConfigurationError('Missing required parameter: body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = []
var { method, body, ...querystring } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) {
method = 'POST'
}
var ignore = options.ignore
if (typeof ignore === 'number') {
options.ignore = [ignore]
}
var path = ''
path = '/' + '_data_frame' + '/' + 'transforms' + '/' + '_preview'
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
options.warnings = warnings.length === 0 ? null : warnings
return makeRequest(request, options, callback)
}
}
module.exports = buildDataFramePreviewDataFrameTransform

View File

@ -0,0 +1,86 @@
// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildDataFramePutDataFrameTransform (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/**
* Perform a [data_frame.put_data_frame_transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-data-frame-transform.html) request
*
* @param {string} transform_id - The id of the new transform.
* @param {object} body - The data frame transform definition
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function dataFramePutDataFrameTransform (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['transform_id'] == null && params['transformId'] == null) {
const err = new ConfigurationError('Missing required parameter: transform_id or transformId')
return handleError(err, callback)
}
if (params['body'] == null) {
const err = new ConfigurationError('Missing required parameter: body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = []
var { method, body, transformId, transform_id, ...querystring } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) {
method = 'PUT'
}
var ignore = options.ignore
if (typeof ignore === 'number') {
options.ignore = [ignore]
}
var path = ''
path = '/' + '_data_frame' + '/' + 'transforms' + '/' + encodeURIComponent(transform_id || transformId)
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
options.warnings = warnings.length === 0 ? null : warnings
return makeRequest(request, options, callback)
}
}
module.exports = buildDataFramePutDataFrameTransform

View File

@ -0,0 +1,86 @@
// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildDataFrameStartDataFrameTransform (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/**
* Perform a [data_frame.start_data_frame_transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/start-data-frame-transform.html) request
*
* @param {string} transform_id - The id of the transform to start
* @param {time} timeout - Controls the time to wait for the transform to start
*/
const acceptedQuerystring = [
'timeout'
]
const snakeCase = {
}
return function dataFrameStartDataFrameTransform (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['transform_id'] == null && params['transformId'] == null) {
const err = new ConfigurationError('Missing required parameter: transform_id or transformId')
return handleError(err, callback)
}
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = []
var { method, body, transformId, transform_id, ...querystring } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) {
method = 'POST'
}
var ignore = options.ignore
if (typeof ignore === 'number') {
options.ignore = [ignore]
}
var path = ''
path = '/' + '_data_frame' + '/' + 'transforms' + '/' + encodeURIComponent(transform_id || transformId) + '/' + '_start'
// build request object
const request = {
method,
path,
body: '',
querystring
}
options.warnings = warnings.length === 0 ? null : warnings
return makeRequest(request, options, callback)
}
}
module.exports = buildDataFrameStartDataFrameTransform

View File

@ -0,0 +1,91 @@
// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildDataFrameStopDataFrameTransform (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/**
* Perform a [data_frame.stop_data_frame_transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-data-frame-transform.html) request
*
* @param {string} transform_id - The id of the transform to stop
* @param {boolean} wait_for_completion - Whether to wait for the transform to fully stop before returning or not. Default to false
* @param {time} timeout - Controls the time to wait until the transform has stopped. Default to 30 seconds
* @param {boolean} allow_no_match - Whether to ignore if a wildcard expression matches no data frame transforms. (This includes `_all` string or when no data frame transforms have been specified)
*/
const acceptedQuerystring = [
'wait_for_completion',
'timeout',
'allow_no_match'
]
const snakeCase = {
waitForCompletion: 'wait_for_completion',
allowNoMatch: 'allow_no_match'
}
return function dataFrameStopDataFrameTransform (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['transform_id'] == null && params['transformId'] == null) {
const err = new ConfigurationError('Missing required parameter: transform_id or transformId')
return handleError(err, callback)
}
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = []
var { method, body, transformId, transform_id, ...querystring } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) {
method = 'POST'
}
var ignore = options.ignore
if (typeof ignore === 'number') {
options.ignore = [ignore]
}
var path = ''
path = '/' + '_data_frame' + '/' + 'transforms' + '/' + encodeURIComponent(transform_id || transformId) + '/' + '_stop'
// build request object
const request = {
method,
path,
body: '',
querystring
}
options.warnings = warnings.length === 0 ? null : warnings
return makeRequest(request, options, callback)
}
}
module.exports = buildDataFrameStopDataFrameTransform

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildDelete (opts) { function buildDelete (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [delete](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete.html) request * Perform a [delete](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete.html) request
* *
@ -32,7 +17,6 @@ function buildDelete (opts) {
* @param {string} index - The name of the index * @param {string} index - The name of the index
* @param {string} type - The type of the document * @param {string} type - The type of the document
* @param {string} wait_for_active_shards - Sets the number of shard copies that must be active before proceeding with the delete operation. Defaults to 1, meaning the primary shard only. Set to `all` for all shard copies, otherwise set to any non-negative value less than or equal to the total number of copies for the shard (number of replicas + 1) * @param {string} wait_for_active_shards - Sets the number of shard copies that must be active before proceeding with the delete operation. Defaults to 1, meaning the primary shard only. Set to `all` for all shard copies, otherwise set to any non-negative value less than or equal to the total number of copies for the shard (number of replicas + 1)
* @param {string} parent - ID of parent document
* @param {enum} refresh - If `true` then refresh the effected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes. * @param {enum} refresh - If `true` then refresh the effected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes.
* @param {string} routing - Specific routing value * @param {string} routing - Specific routing value
* @param {time} timeout - Explicit operation timeout * @param {time} timeout - Explicit operation timeout
@ -44,7 +28,6 @@ function buildDelete (opts) {
const acceptedQuerystring = [ const acceptedQuerystring = [
'wait_for_active_shards', 'wait_for_active_shards',
'parent',
'refresh', 'refresh',
'routing', 'routing',
'timeout', 'timeout',
@ -94,29 +77,23 @@ function buildDelete (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
// check required url components
if (params['id'] != null && (params['index'] == null)) {
const err = new ConfigurationError('Missing required parameter of the url: index')
return handleError(err, callback)
}
// validate headers object // validate headers object
if (options.headers != null && typeof options.headers !== 'object') { if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`) const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, id, index, type } = params var { method, body, id, index, type, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -135,34 +112,8 @@ function buildDelete (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildDeleteByQuery (opts) { function buildDeleteByQuery (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [delete_by_query](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete-by-query.html) request * Perform a [delete_by_query](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete-by-query.html) request
* *
@ -46,7 +31,8 @@ function buildDeleteByQuery (opts) {
* @param {time} scroll - Specify how long a consistent view of the index should be maintained for scrolled search * @param {time} scroll - Specify how long a consistent view of the index should be maintained for scrolled search
* @param {enum} search_type - Search operation type * @param {enum} search_type - Search operation type
* @param {time} search_timeout - Explicit timeout for each search request. Defaults to no timeout. * @param {time} search_timeout - Explicit timeout for each search request. Defaults to no timeout.
* @param {number} size - Number of hits to return (default: 10) * @param {number} size - Deprecated, please use `max_docs` instead
* @param {number} max_docs - Maximum number of documents to process (default: all documents)
* @param {list} sort - A comma-separated list of <field>:<direction> pairs * @param {list} sort - A comma-separated list of <field>:<direction> pairs
* @param {list} _source - True or false to return the _source field or not, or a list of fields to return * @param {list} _source - True or false to return the _source field or not, or a list of fields to return
* @param {list} _source_excludes - A list of fields to exclude from the returned _source field * @param {list} _source_excludes - A list of fields to exclude from the returned _source field
@ -83,10 +69,13 @@ function buildDeleteByQuery (opts) {
'search_type', 'search_type',
'search_timeout', 'search_timeout',
'size', 'size',
'max_docs',
'sort', 'sort',
'_source', '_source',
'_source_excludes', '_source_excludes',
'_source_exclude',
'_source_includes', '_source_includes',
'_source_include',
'terminate_after', 'terminate_after',
'stats', 'stats',
'version', 'version',
@ -113,8 +102,11 @@ function buildDeleteByQuery (opts) {
expandWildcards: 'expand_wildcards', expandWildcards: 'expand_wildcards',
searchType: 'search_type', searchType: 'search_type',
searchTimeout: 'search_timeout', searchTimeout: 'search_timeout',
maxDocs: 'max_docs',
_sourceExcludes: '_source_excludes', _sourceExcludes: '_source_excludes',
_sourceExclude: '_source_exclude',
_sourceIncludes: '_source_includes', _sourceIncludes: '_source_includes',
_sourceInclude: '_source_include',
terminateAfter: 'terminate_after', terminateAfter: 'terminate_after',
requestCache: 'request_cache', requestCache: 'request_cache',
waitForActiveShards: 'wait_for_active_shards', waitForActiveShards: 'wait_for_active_shards',
@ -159,17 +151,17 @@ function buildDeleteByQuery (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index, type } = params var { method, body, index, type, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index', 'type']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -188,34 +180,8 @@ function buildDeleteByQuery (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildDeleteByQueryRethrottle (opts) { function buildDeleteByQueryRethrottle (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [delete_by_query_rethrottle](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html) request * Perform a [delete_by_query_rethrottle](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html) request
* *
@ -79,17 +64,17 @@ function buildDeleteByQueryRethrottle (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, taskId, task_id } = params var { method, body, taskId, task_id, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'taskId', 'task_id']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -104,34 +89,8 @@ function buildDeleteByQueryRethrottle (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildDeleteScript (opts) { function buildDeleteScript (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [delete_script](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html) request * Perform a [delete_script](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html) request
* *
@ -77,17 +62,17 @@ function buildDeleteScript (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, id } = params var { method, body, id, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'id']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -102,34 +87,8 @@ function buildDeleteScript (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildExists (opts) { function buildExists (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [exists](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html) request * Perform a [exists](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html) request
* *
@ -32,7 +17,6 @@ function buildExists (opts) {
* @param {string} index - The name of the index * @param {string} index - The name of the index
* @param {string} type - The type of the document (use `_all` to fetch the first document matching the ID across all types) * @param {string} type - The type of the document (use `_all` to fetch the first document matching the ID across all types)
* @param {list} stored_fields - A comma-separated list of stored fields to return in the response * @param {list} stored_fields - A comma-separated list of stored fields to return in the response
* @param {string} parent - The ID of the parent document
* @param {string} preference - Specify the node or shard the operation should be performed on (default: random) * @param {string} preference - Specify the node or shard the operation should be performed on (default: random)
* @param {boolean} realtime - Specify whether to perform the operation in realtime or search mode * @param {boolean} realtime - Specify whether to perform the operation in realtime or search mode
* @param {boolean} refresh - Refresh the shard containing the document before performing the operation * @param {boolean} refresh - Refresh the shard containing the document before performing the operation
@ -46,14 +30,15 @@ function buildExists (opts) {
const acceptedQuerystring = [ const acceptedQuerystring = [
'stored_fields', 'stored_fields',
'parent',
'preference', 'preference',
'realtime', 'realtime',
'refresh', 'refresh',
'routing', 'routing',
'_source', '_source',
'_source_excludes', '_source_excludes',
'_source_exclude',
'_source_includes', '_source_includes',
'_source_include',
'version', 'version',
'version_type', 'version_type',
'pretty', 'pretty',
@ -66,7 +51,9 @@ function buildExists (opts) {
const snakeCase = { const snakeCase = {
storedFields: 'stored_fields', storedFields: 'stored_fields',
_sourceExcludes: '_source_excludes', _sourceExcludes: '_source_excludes',
_sourceExclude: '_source_exclude',
_sourceIncludes: '_source_includes', _sourceIncludes: '_source_includes',
_sourceInclude: '_source_include',
versionType: 'version_type', versionType: 'version_type',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
@ -104,17 +91,17 @@ function buildExists (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, id, index, type } = params var { method, body, id, index, type, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'HEAD' method = 'HEAD'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -133,34 +120,8 @@ function buildExists (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,14 +9,13 @@
function buildExistsSource (opts) { function buildExistsSource (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [exists_source](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html) request * Perform a [exists_source](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html) request
* *
* @param {string} id - The document ID * @param {string} id - The document ID
* @param {string} index - The name of the index * @param {string} index - The name of the index
* @param {string} type - The type of the document; deprecated and optional starting with 7.0 * @param {string} type - The type of the document; deprecated and optional starting with 7.0
* @param {string} parent - The ID of the parent document
* @param {string} preference - Specify the node or shard the operation should be performed on (default: random) * @param {string} preference - Specify the node or shard the operation should be performed on (default: random)
* @param {boolean} realtime - Specify whether to perform the operation in realtime or search mode * @param {boolean} realtime - Specify whether to perform the operation in realtime or search mode
* @param {boolean} refresh - Refresh the shard containing the document before performing the operation * @param {boolean} refresh - Refresh the shard containing the document before performing the operation
@ -44,14 +28,15 @@ function buildExistsSource (opts) {
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
'parent',
'preference', 'preference',
'realtime', 'realtime',
'refresh', 'refresh',
'routing', 'routing',
'_source', '_source',
'_source_excludes', '_source_excludes',
'_source_exclude',
'_source_includes', '_source_includes',
'_source_include',
'version', 'version',
'version_type', 'version_type',
'pretty', 'pretty',
@ -63,7 +48,9 @@ function buildExistsSource (opts) {
const snakeCase = { const snakeCase = {
_sourceExcludes: '_source_excludes', _sourceExcludes: '_source_excludes',
_sourceExclude: '_source_exclude',
_sourceIncludes: '_source_includes', _sourceIncludes: '_source_includes',
_sourceInclude: '_source_include',
versionType: 'version_type', versionType: 'version_type',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
@ -110,17 +97,17 @@ function buildExistsSource (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, id, index, type } = params var { method, body, id, index, type, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'HEAD' method = 'HEAD'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -139,34 +126,8 @@ function buildExistsSource (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildExplain (opts) { function buildExplain (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [explain](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-explain.html) request * Perform a [explain](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-explain.html) request
* *
@ -37,7 +22,6 @@ function buildExplain (opts) {
* @param {string} df - The default field for query string query (default: _all) * @param {string} df - The default field for query string query (default: _all)
* @param {list} stored_fields - A comma-separated list of stored fields to return in the response * @param {list} stored_fields - A comma-separated list of stored fields to return in the response
* @param {boolean} lenient - Specify whether format-based query failures (such as providing text to a numeric field) should be ignored * @param {boolean} lenient - Specify whether format-based query failures (such as providing text to a numeric field) should be ignored
* @param {string} parent - The ID of the parent document
* @param {string} preference - Specify the node or shard the operation should be performed on (default: random) * @param {string} preference - Specify the node or shard the operation should be performed on (default: random)
* @param {string} q - Query in the Lucene query string syntax * @param {string} q - Query in the Lucene query string syntax
* @param {string} routing - Specific routing value * @param {string} routing - Specific routing value
@ -54,13 +38,14 @@ function buildExplain (opts) {
'df', 'df',
'stored_fields', 'stored_fields',
'lenient', 'lenient',
'parent',
'preference', 'preference',
'q', 'q',
'routing', 'routing',
'_source', '_source',
'_source_excludes', '_source_excludes',
'_source_exclude',
'_source_includes', '_source_includes',
'_source_include',
'pretty', 'pretty',
'human', 'human',
'error_trace', 'error_trace',
@ -73,7 +58,9 @@ function buildExplain (opts) {
defaultOperator: 'default_operator', defaultOperator: 'default_operator',
storedFields: 'stored_fields', storedFields: 'stored_fields',
_sourceExcludes: '_source_excludes', _sourceExcludes: '_source_excludes',
_sourceExclude: '_source_exclude',
_sourceIncludes: '_source_includes', _sourceIncludes: '_source_includes',
_sourceInclude: '_source_include',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
} }
@ -106,17 +93,17 @@ function buildExplain (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, id, index, type } = params var { method, body, id, index, type, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = body == null ? 'GET' : 'POST' method = body == null ? 'GET' : 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -135,34 +122,8 @@ function buildExplain (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildFieldCaps (opts) { function buildFieldCaps (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [field_caps](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-field-caps.html) request * Perform a [field_caps](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-field-caps.html) request
* *
@ -33,6 +18,7 @@ function buildFieldCaps (opts) {
* @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed) * @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed)
* @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified) * @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
* @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both. * @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both.
* @param {boolean} include_unmapped - Indicates whether unmapped fields should be included in the response.
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
@ -40,6 +26,7 @@ function buildFieldCaps (opts) {
'ignore_unavailable', 'ignore_unavailable',
'allow_no_indices', 'allow_no_indices',
'expand_wildcards', 'expand_wildcards',
'include_unmapped',
'pretty', 'pretty',
'human', 'human',
'error_trace', 'error_trace',
@ -51,6 +38,7 @@ function buildFieldCaps (opts) {
ignoreUnavailable: 'ignore_unavailable', ignoreUnavailable: 'ignore_unavailable',
allowNoIndices: 'allow_no_indices', allowNoIndices: 'allow_no_indices',
expandWildcards: 'expand_wildcards', expandWildcards: 'expand_wildcards',
includeUnmapped: 'include_unmapped',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
} }
@ -79,17 +67,17 @@ function buildFieldCaps (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = body == null ? 'GET' : 'POST' method = body == null ? 'GET' : 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -108,34 +96,8 @@ function buildFieldCaps (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildGet (opts) { function buildGet (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [get](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html) request * Perform a [get](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html) request
* *
@ -32,7 +17,6 @@ function buildGet (opts) {
* @param {string} index - The name of the index * @param {string} index - The name of the index
* @param {string} type - The type of the document (use `_all` to fetch the first document matching the ID across all types) * @param {string} type - The type of the document (use `_all` to fetch the first document matching the ID across all types)
* @param {list} stored_fields - A comma-separated list of stored fields to return in the response * @param {list} stored_fields - A comma-separated list of stored fields to return in the response
* @param {string} parent - The ID of the parent document
* @param {string} preference - Specify the node or shard the operation should be performed on (default: random) * @param {string} preference - Specify the node or shard the operation should be performed on (default: random)
* @param {boolean} realtime - Specify whether to perform the operation in realtime or search mode * @param {boolean} realtime - Specify whether to perform the operation in realtime or search mode
* @param {boolean} refresh - Refresh the shard containing the document before performing the operation * @param {boolean} refresh - Refresh the shard containing the document before performing the operation
@ -40,23 +24,20 @@ function buildGet (opts) {
* @param {list} _source - True or false to return the _source field or not, or a list of fields to return * @param {list} _source - True or false to return the _source field or not, or a list of fields to return
* @param {list} _source_excludes - A list of fields to exclude from the returned _source field * @param {list} _source_excludes - A list of fields to exclude from the returned _source field
* @param {list} _source_includes - A list of fields to extract and return from the _source field * @param {list} _source_includes - A list of fields to extract and return from the _source field
* @param {list} _source_exclude - A list of fields to exclude from the returned _source field
* @param {list} _source_include - A list of fields to extract and return from the _source field
* @param {number} version - Explicit version number for concurrency control * @param {number} version - Explicit version number for concurrency control
* @param {enum} version_type - Specific version type * @param {enum} version_type - Specific version type
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
'stored_fields', 'stored_fields',
'parent',
'preference', 'preference',
'realtime', 'realtime',
'refresh', 'refresh',
'routing', 'routing',
'_source', '_source',
'_source_excludes', '_source_excludes',
'_source_includes',
'_source_exclude', '_source_exclude',
'_source_includes',
'_source_include', '_source_include',
'version', 'version',
'version_type', 'version_type',
@ -70,8 +51,8 @@ function buildGet (opts) {
const snakeCase = { const snakeCase = {
storedFields: 'stored_fields', storedFields: 'stored_fields',
_sourceExcludes: '_source_excludes', _sourceExcludes: '_source_excludes',
_sourceIncludes: '_source_includes',
_sourceExclude: '_source_exclude', _sourceExclude: '_source_exclude',
_sourceIncludes: '_source_includes',
_sourceInclude: '_source_include', _sourceInclude: '_source_include',
versionType: 'version_type', versionType: 'version_type',
errorTrace: 'error_trace', errorTrace: 'error_trace',
@ -110,17 +91,17 @@ function buildGet (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, id, index, type } = params var { method, body, id, index, type, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -139,34 +120,8 @@ function buildGet (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildGetScript (opts) { function buildGetScript (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [get_script](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html) request * Perform a [get_script](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html) request
* *
@ -75,17 +60,17 @@ function buildGetScript (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, id } = params var { method, body, id, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'id']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -100,34 +85,8 @@ function buildGetScript (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,14 +9,13 @@
function buildGetSource (opts) { function buildGetSource (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [get_source](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html) request * Perform a [get_source](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html) request
* *
* @param {string} id - The document ID * @param {string} id - The document ID
* @param {string} index - The name of the index * @param {string} index - The name of the index
* @param {string} type - The type of the document; deprecated and optional starting with 7.0 * @param {string} type - The type of the document; deprecated and optional starting with 7.0
* @param {string} parent - The ID of the parent document
* @param {string} preference - Specify the node or shard the operation should be performed on (default: random) * @param {string} preference - Specify the node or shard the operation should be performed on (default: random)
* @param {boolean} realtime - Specify whether to perform the operation in realtime or search mode * @param {boolean} realtime - Specify whether to perform the operation in realtime or search mode
* @param {boolean} refresh - Refresh the shard containing the document before performing the operation * @param {boolean} refresh - Refresh the shard containing the document before performing the operation
@ -44,14 +28,15 @@ function buildGetSource (opts) {
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
'parent',
'preference', 'preference',
'realtime', 'realtime',
'refresh', 'refresh',
'routing', 'routing',
'_source', '_source',
'_source_excludes', '_source_excludes',
'_source_exclude',
'_source_includes', '_source_includes',
'_source_include',
'version', 'version',
'version_type', 'version_type',
'pretty', 'pretty',
@ -63,7 +48,9 @@ function buildGetSource (opts) {
const snakeCase = { const snakeCase = {
_sourceExcludes: '_source_excludes', _sourceExcludes: '_source_excludes',
_sourceExclude: '_source_exclude',
_sourceIncludes: '_source_includes', _sourceIncludes: '_source_includes',
_sourceInclude: '_source_include',
versionType: 'version_type', versionType: 'version_type',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
@ -101,17 +88,17 @@ function buildGetSource (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, id, index, type } = params var { method, body, id, index, type, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -130,34 +117,8 @@ function buildGetSource (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

90
api/api/graph.explore.js Normal file
View File

@ -0,0 +1,90 @@
// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildGraphExplore (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/**
* Perform a [graph.explore](https://www.elastic.co/guide/en/elasticsearch/reference/current/graph-explore-api.html) request
*
* @param {list} index - A comma-separated list of index names to search; use `_all` or empty string to perform the operation on all indices
* @param {list} type - A comma-separated list of document types to search; leave empty to perform the operation on all types
* @param {string} routing - Specific routing value
* @param {time} timeout - Explicit operation timeout
* @param {object} body - Graph Query DSL
*/
const acceptedQuerystring = [
'routing',
'timeout'
]
const snakeCase = {
}
return function graphExplore (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required url components
if (params['type'] != null && (params['index'] == null)) {
const err = new ConfigurationError('Missing required parameter of the url: index')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = []
var { method, body, index, type, ...querystring } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) {
method = body == null ? 'GET' : 'POST'
}
var ignore = options.ignore
if (typeof ignore === 'number') {
options.ignore = [ignore]
}
var path = ''
if ((index) != null && (type) != null) {
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + '_graph' + '/' + 'explore'
} else {
path = '/' + encodeURIComponent(index) + '/' + '_graph' + '/' + 'explore'
}
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
options.warnings = warnings.length === 0 ? null : warnings
return makeRequest(request, options, callback)
}
}
module.exports = buildGraphExplore

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIlmDeleteLifecycle (opts) { function buildIlmDeleteLifecycle (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ilm.delete_lifecycle](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-delete-lifecycle.html) request * Perform a [ilm.delete_lifecycle](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-delete-lifecycle.html) request
* *
@ -63,17 +48,17 @@ function buildIlmDeleteLifecycle (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, policy } = params var { method, body, policy, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'policy']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -88,34 +73,8 @@ function buildIlmDeleteLifecycle (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,16 +9,15 @@
function buildIlmExplainLifecycle (opts) { function buildIlmExplainLifecycle (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ilm.explain_lifecycle](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-explain-lifecycle.html) request * Perform a [ilm.explain_lifecycle](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-explain-lifecycle.html) request
* *
* @param {string} index - The name of the index to explain * @param {string} index - The name of the index to explain
* @param {boolean} human - Return data such as dates in a human readable format
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
'human'
] ]
const snakeCase = { const snakeCase = {
@ -64,17 +48,17 @@ function buildIlmExplainLifecycle (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -89,34 +73,8 @@ function buildIlmExplainLifecycle (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIlmGetLifecycle (opts) { function buildIlmGetLifecycle (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ilm.get_lifecycle](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-lifecycle.html) request * Perform a [ilm.get_lifecycle](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-lifecycle.html) request
* *
@ -63,17 +48,17 @@ function buildIlmGetLifecycle (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, policy } = params var { method, body, policy, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'policy']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -92,34 +77,8 @@ function buildIlmGetLifecycle (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIlmGetStatus (opts) { function buildIlmGetStatus (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ilm.get_status](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-status.html) request * Perform a [ilm.get_status](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-status.html) request
* *
@ -62,17 +47,17 @@ function buildIlmGetStatus (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -87,34 +72,8 @@ function buildIlmGetStatus (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIlmMoveToStep (opts) { function buildIlmMoveToStep (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ilm.move_to_step](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-move-to-step.html) request * Perform a [ilm.move_to_step](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-move-to-step.html) request
* *
@ -58,17 +43,17 @@ function buildIlmMoveToStep (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -83,34 +68,8 @@ function buildIlmMoveToStep (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIlmPutLifecycle (opts) { function buildIlmPutLifecycle (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ilm.put_lifecycle](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-put-lifecycle.html) request * Perform a [ilm.put_lifecycle](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-put-lifecycle.html) request
* *
@ -58,17 +43,17 @@ function buildIlmPutLifecycle (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, policy } = params var { method, body, policy, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'policy']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'PUT' method = 'PUT'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -83,34 +68,8 @@ function buildIlmPutLifecycle (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIlmRemovePolicy (opts) { function buildIlmRemovePolicy (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ilm.remove_policy](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-remove-policy.html) request * Perform a [ilm.remove_policy](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-remove-policy.html) request
* *
@ -63,17 +48,17 @@ function buildIlmRemovePolicy (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -88,34 +73,8 @@ function buildIlmRemovePolicy (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIlmRetry (opts) { function buildIlmRetry (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ilm.retry](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-retry-policy.html) request * Perform a [ilm.retry](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-retry-policy.html) request
* *
@ -63,17 +48,17 @@ function buildIlmRetry (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -88,34 +73,8 @@ function buildIlmRetry (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIlmStart (opts) { function buildIlmStart (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ilm.start](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-start.html) request * Perform a [ilm.start](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-start.html) request
* *
@ -62,17 +47,17 @@ function buildIlmStart (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -87,34 +72,8 @@ function buildIlmStart (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIlmStop (opts) { function buildIlmStop (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [ilm.stop](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-stop.html) request * Perform a [ilm.stop](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-stop.html) request
* *
@ -62,17 +47,17 @@ function buildIlmStop (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body } = params var { method, body, ...querystring } = params
var querystring = semicopy(params, ['method', 'body']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -87,34 +72,8 @@ function buildIlmStop (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIndex (opts) { function buildIndex (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [index](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html) request * Perform a [index](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html) request
* *
@ -33,7 +18,6 @@ function buildIndex (opts) {
* @param {string} type - The type of the document * @param {string} type - The type of the document
* @param {string} wait_for_active_shards - Sets the number of shard copies that must be active before proceeding with the index operation. Defaults to 1, meaning the primary shard only. Set to `all` for all shard copies, otherwise set to any non-negative value less than or equal to the total number of copies for the shard (number of replicas + 1) * @param {string} wait_for_active_shards - Sets the number of shard copies that must be active before proceeding with the index operation. Defaults to 1, meaning the primary shard only. Set to `all` for all shard copies, otherwise set to any non-negative value less than or equal to the total number of copies for the shard (number of replicas + 1)
* @param {enum} op_type - Explicit operation type * @param {enum} op_type - Explicit operation type
* @param {string} parent - ID of the parent document
* @param {enum} refresh - If `true` then refresh the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes. * @param {enum} refresh - If `true` then refresh the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes.
* @param {string} routing - Specific routing value * @param {string} routing - Specific routing value
* @param {time} timeout - Explicit operation timeout * @param {time} timeout - Explicit operation timeout
@ -48,7 +32,6 @@ function buildIndex (opts) {
const acceptedQuerystring = [ const acceptedQuerystring = [
'wait_for_active_shards', 'wait_for_active_shards',
'op_type', 'op_type',
'parent',
'refresh', 'refresh',
'routing', 'routing',
'timeout', 'timeout',
@ -96,29 +79,23 @@ function buildIndex (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
// check required url components
if (params['id'] != null && (params['index'] == null)) {
const err = new ConfigurationError('Missing required parameter of the url: index')
return handleError(err, callback)
}
// validate headers object // validate headers object
if (options.headers != null && typeof options.headers !== 'object') { if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`) const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, id, index, type } = params var { method, body, id, index, type, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -141,34 +118,8 @@ function buildIndex (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIndicesAnalyze (opts) { function buildIndicesAnalyze (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [indices.analyze](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-analyze.html) request * Perform a [indices.analyze](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-analyze.html) request
* *
@ -65,17 +50,17 @@ function buildIndicesAnalyze (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = body == null ? 'GET' : 'POST' method = body == null ? 'GET' : 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -94,34 +79,8 @@ function buildIndicesAnalyze (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIndicesClearCache (opts) { function buildIndicesClearCache (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [indices.clear_cache](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-clearcache.html) request * Perform a [indices.clear_cache](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-clearcache.html) request
* *
@ -87,17 +72,17 @@ function buildIndicesClearCache (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -116,34 +101,8 @@ function buildIndicesClearCache (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIndicesClose (opts) { function buildIndicesClose (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [indices.close](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html) request * Perform a [indices.close](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html) request
* *
@ -34,6 +19,7 @@ function buildIndicesClose (opts) {
* @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed) * @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed)
* @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified) * @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
* @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both. * @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both.
* @param {string} wait_for_active_shards - Sets the number of active shards to wait for before the operation returns.
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
@ -42,6 +28,7 @@ function buildIndicesClose (opts) {
'ignore_unavailable', 'ignore_unavailable',
'allow_no_indices', 'allow_no_indices',
'expand_wildcards', 'expand_wildcards',
'wait_for_active_shards',
'pretty', 'pretty',
'human', 'human',
'error_trace', 'error_trace',
@ -54,6 +41,7 @@ function buildIndicesClose (opts) {
ignoreUnavailable: 'ignore_unavailable', ignoreUnavailable: 'ignore_unavailable',
allowNoIndices: 'allow_no_indices', allowNoIndices: 'allow_no_indices',
expandWildcards: 'expand_wildcards', expandWildcards: 'expand_wildcards',
waitForActiveShards: 'wait_for_active_shards',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
} }
@ -86,17 +74,17 @@ function buildIndicesClose (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -111,34 +99,8 @@ function buildIndicesClose (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIndicesCreate (opts) { function buildIndicesCreate (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [indices.create](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-create-index.html) request * Perform a [indices.create](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-create-index.html) request
* *
@ -80,17 +65,17 @@ function buildIndicesCreate (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'PUT' method = 'PUT'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -105,34 +90,8 @@ function buildIndicesCreate (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIndicesDelete (opts) { function buildIndicesDelete (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [indices.delete](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-delete-index.html) request * Perform a [indices.delete](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-delete-index.html) request
* *
@ -86,17 +71,17 @@ function buildIndicesDelete (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -111,34 +96,8 @@ function buildIndicesDelete (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIndicesDeleteAlias (opts) { function buildIndicesDeleteAlias (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [indices.delete_alias](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html) request * Perform a [indices.delete_alias](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html) request
* *
@ -88,17 +73,17 @@ function buildIndicesDeleteAlias (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index, name } = params var { method, body, index, name, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index', 'name']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -117,34 +102,8 @@ function buildIndicesDeleteAlias (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIndicesDeleteTemplate (opts) { function buildIndicesDeleteTemplate (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [indices.delete_template](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html) request * Perform a [indices.delete_template](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html) request
* *
@ -77,17 +62,17 @@ function buildIndicesDeleteTemplate (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, name } = params var { method, body, name, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'name']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -102,34 +87,8 @@ function buildIndicesDeleteTemplate (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIndicesExists (opts) { function buildIndicesExists (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [indices.exists](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-exists.html) request * Perform a [indices.exists](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-exists.html) request
* *
@ -89,17 +74,17 @@ function buildIndicesExists (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index } = params var { method, body, index, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'HEAD' method = 'HEAD'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -114,34 +99,8 @@ function buildIndicesExists (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIndicesExistsAlias (opts) { function buildIndicesExistsAlias (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [indices.exists_alias](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html) request * Perform a [indices.exists_alias](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html) request
* *
@ -84,17 +69,17 @@ function buildIndicesExistsAlias (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index, name } = params var { method, body, index, name, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index', 'name']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'HEAD' method = 'HEAD'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -113,34 +98,8 @@ function buildIndicesExistsAlias (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIndicesExistsTemplate (opts) { function buildIndicesExistsTemplate (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [indices.exists_template](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html) request * Perform a [indices.exists_template](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html) request
* *
@ -80,17 +65,17 @@ function buildIndicesExistsTemplate (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, name } = params var { method, body, name, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'name']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'HEAD' method = 'HEAD'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -105,34 +90,8 @@ function buildIndicesExistsTemplate (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,21 +1,6 @@
/* // Licensed to Elasticsearch B.V under one or more agreements.
* Licensed to Elasticsearch B.V. under one or more contributor // Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
* license agreements. See the NOTICE file distributed with // See the LICENSE file in the project root for more information
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict' 'use strict'
@ -24,7 +9,7 @@
function buildIndicesExistsType (opts) { function buildIndicesExistsType (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/** /**
* Perform a [indices.exists_type](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-types-exists.html) request * Perform a [indices.exists_type](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-types-exists.html) request
* *
@ -94,17 +79,17 @@ function buildIndicesExistsType (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = null var warnings = []
var { method, body, index, type } = params var { method, body, index, type, ...querystring } = params
var querystring = semicopy(params, ['method', 'body', 'index', 'type']) querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) { if (method == null) {
method = 'HEAD' method = 'HEAD'
} }
var ignore = options.ignore || null var ignore = options.ignore
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
ignore = [ignore] options.ignore = [ignore]
} }
var path = '' var path = ''
@ -119,34 +104,8 @@ function buildIndicesExistsType (opts) {
querystring querystring
} }
const requestOptions = { options.warnings = warnings.length === 0 ? null : warnings
ignore, return makeRequest(request, options, callback)
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

Some files were not shown because too many files have changed in this diff Show More