Commit Graph

96 Commits

Author SHA1 Message Date
277d33715c [ping()] determine ping timeout at runtime (#679)
* [ping()] determine ping timeout at runtime

* generate

* single line

* remove pingTimeout param

* [docs] Add note about pingTimeout priority

* remove default ping requestTimeout test

* add test
2018-09-24 11:48:03 -05:00
d26c91c840 Fix: Serialization does not handle non-enumerable properties in Node versions < 5.x (#677) 2018-07-03 12:08:17 -07:00
f493527dc4 [eslint] fix no-unused-vars violations 2018-05-14 12:16:03 -07:00
898913545a [eslint] fix no-unused-expressions violations 2018-05-14 12:06:03 -07:00
4156feca27 remove deepMerge util 2018-05-14 11:42:47 -07:00
f1de944809 Upgrade to lodash v4 (#660)
* npm install lodash-2

Someone handily published a lodash-2 v4.17.4 - it is exactly the same as lodash v4.17.4, so it is safe to use during the migration.

* use lodash-2 in tests

* update tests to split utils vs lodash

* remove Utils.nextTick usage

Utils.nextTick with a single argument is the same as process.nextTick

* lowercase utils

Because it seems that this is the coding style in this repo

* upgrade lodash in grunt/*

* keep lodash-2 as a dev dep for now

* use lodash-2 in scripts

* use snakeCase from utils

It was a mistake in my previous commit to not update this usage

* fix naming gruntUtils vs utils

As all three - gruntUtils, utils and lodash (_) are getting passed into templates, it makes sense to keep the naming consistent

* fix naming gruntUtils vs utils

As all three - gruntUtils, utils and lodash (_) are getting passed into templates, it makes sense to keep the naming consistent

* split utils vs lodash in scripts/generate

Also use lodash-2 where it is easy to do so

* use utils.get until lodash upgrade

* remove lodash.isempty; lodash-2 now used in prod (in src/lib/apis/ code)

* unbundle lodash from utils

* upgrade to lodash 4

* remove lodash.get and lodash.trimEnd

* clean out unused code

* clean out unused code

* fix a breaking change listed under "notable changes" rather than under "breaking changes"...
2018-05-14 11:37:23 -07:00
24e5e0f9f9 Bump jquery and update some tests (#644)
* Remove jquery from devDependencies, syntax

* Add browserify and aliasify

* Bump jquery

* Bump jquery and make some tests pass
2018-03-13 21:03:06 -07:00
263bec4e03 Make unit tests pass in node 8 (#643)
* make tests not crash in node 8

* upgrade nock

This makes tests pass in node 8, as well as node 6
2018-03-13 20:59:37 -07:00
c7551f7914 Updating bulk JSON content type 2017-02-22 04:24:07 -08:00
87fe5d4a83 Merge branch 'fix/keepalive' 2017-02-08 17:49:23 -07:00
6309425951 update node-reading logic to match elasticsearch-py 2017-02-08 17:03:22 -07:00
026ec8ff94 swap out forever-agent with agentkeepalive (#196) 2016-12-07 12:57:10 -07:00
6d20756712 use config.httpAuth as default auth info for hosts 2016-11-15 11:52:42 -07:00
913469bb48 [client action] add a test to prove 21b2176 2016-07-06 22:36:27 -06:00
241aaff012 Merge pull request #375 from orangejulius/use_json_stringify
Use JSON.stringify to log objects
2016-07-06 16:27:39 -06:00
8ad271d81c and finally, return to standard mo 2016-05-19 14:33:04 -07:00
ec06c51c5d final sweep, moved everything to _v4 2016-05-19 14:23:33 -07:00
c7f6c09d8c get the unit tests to pass 2016-05-19 09:09:31 -07:00
38cf442acc protect methods that can not use lodash-migrate 2016-05-19 08:44:15 -07:00
68a8f712c8 fix eslint errors 2016-05-19 07:52:01 -07:00
3d1efa57a0 splip in lodash-migrate for debugging 2016-05-19 07:28:52 -07:00
a55ed2f2ba [client/config/logger/test] added test to ensure stream log could be configured 2016-04-05 08:56:26 -07:00
9dfcc20bd9 Use JSON.stringify to log objects
There are two major advantages to JSON.stringify over util.inspect:

1.) JSON.stringify defaults to recursively printing deeply nested
objects.

2.) JSON.stringify output is JSON, meaning it can be taken directly from
the output and used wherever JSON is accepted. util.inspect output is
JSON-like, but also includes other annotation such as the types of
various values, as well as functions on objects.
2016-03-31 14:08:27 -04:00
453cd9e1af [transport] expose a method for updating the host list 2016-02-04 12:12:25 -07:00
916aca58c8 Fix #324
Added support for string hosts in ConnectionAbstract constructor.
Host constructor is used with supplied host string to create host object for ConnectionAbstract.
2016-01-31 12:40:01 +02:00
9ed1afbcd6 [nodesToHost] align with es.py host parsing behavior 2016-01-10 15:32:18 -07:00
7d5b0395e6 Merge pull request #329 from spalger/implement/createNodeAgent
Implement createNodeAgent config
2016-01-07 09:14:54 -07:00
0e3fe1586f [errors] ensure that error.status is always a number when defined 2016-01-05 14:25:14 -07:00
04dfa9deef add some tests to make sure the createNodeAgent config works 2016-01-05 10:09:13 -07:00
784942c60c fix some unit tests expecting bluebird promises 2015-11-24 15:18:54 -06:00
1c3f72db17 [transport] update tests to check 391f228 2015-11-16 17:45:47 -06:00
6cfabff215 Merge pull request #275 from lpetre/fixing_domain_callbacks
Fixing domain callbacks
2015-11-16 16:02:32 -06:00
4c106c11b0 [transport] fix test regex 2015-11-16 15:19:14 -06:00
eda443b5b6 [transport] maintain support for 1.x nodes formatted urls 2015-11-16 15:12:05 -06:00
284f61e2ee Adding transport tests for domain callbacks 2015-10-06 17:02:51 +01:00
04583c2f96 implement config.sniffedNodesProtocol
If you use https to protect traffic between esjs client and the nodes in your cluster then you also can't use sniffing. This is because we use the /_nodes/_all/clear output to populate the connection pool and that API does not know that the nodes speak HTTPS at all. This change implements the config.sniffedNodesProtocol to fix this.

As it is implemented here, the sniffedNodesProtocol can be set to a string which will be used as the protocol configuration for each Host object created durring sniffing, plain and simple. The default value for this configuration depends on the hosts initially passed to the client, if all of the nodes have the same protocol that protocol is used. If your nodes list is empty or there is a mixture of protocols in this list then "http" is used, as it is the default protocol for each host.
2015-09-10 18:47:05 -07:00
0ddcb057b4 Merge pull request #267 from spalger/fix/promiseRejection
[transport/request] ensure the return value gets defined
2015-09-10 15:25:54 -07:00
a9175dad58 [transport] before failing to send a request, ensure the return value is defined 2015-09-10 15:13:07 -07:00
94ca9d6f5b Get rid of the satanic cult 2015-09-10 14:49:03 +02:00
e580b86e2a support status message errors for many http statuses 2015-08-18 16:34:44 -07:00
fbfe9f98b3 update browser test with current version 2015-08-04 03:41:43 -07:00
36611d0d68 fix clientAction tests 2015-05-13 08:26:02 -05:00
c57e509267 remove old comments 2015-04-21 11:41:58 -07:00
55aff23c1e added support for unbounded skip expressions 2015-04-21 11:40:43 -07:00
7f468d2064 Unify auth handling in the Host class
- flatten auth config to an Authorization header when the Host is created
 - remove individual Authorization handling from connectors
 - removed incomplete support for per-request auth
 - use per-request headers to provide your own Authorization header per request
2015-04-10 09:46:21 -07:00
3005201732 test for an api that every version of the client has 2015-03-26 14:44:39 -07:00
ae69f624a7 added timer stubs for clear, since not all platforms accept a number in clearTimeout 2015-03-26 13:55:25 -07:00
867e3ae569 Revert "remove timer specifications"
This reverts commit 878fb67801.
2015-03-26 13:54:05 -07:00
a46cfe529f added tests for pintTimeout 2015-03-26 13:03:15 -07:00
878fb67801 remove timer specifications 2015-03-17 14:20:59 -07:00