elastic-transport 8.1.0.pre2 → 8.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -5
- data/README.md +22 -8
- data/elastic-transport.gemspec +1 -1
- data/lib/elastic/transport/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 388aaaffda8babdfb8466e6aef816ed63bc520b56c7cb4f09964a23a1ab73854
|
4
|
+
data.tar.gz: 2bdc179dba8822d690bc1a1b41b9766996f5a39cf8d8b8d7fa1bc03662cdcc97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45f117b13be213d5b85a17b1df2ecbafcc14fa566f7beda6bd39be8e26b4e5611f80b1d1bd5f3e0f9e35c726721f70e05c479ae112f9e2da97d2d21ff3af676a
|
7
|
+
data.tar.gz: 9b6d8a1fcc73da9676a309b11860640d6194bed392b1cdd91b4ef8b0ba407de11a8500f542efa588aa3f0a03c31dbef9e374f380c018fe297527ee486540a8b0
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,4 @@
|
|
1
|
-
## 8.1.0
|
2
|
-
|
3
|
-
Updates Faraday's adapter detection code.
|
4
|
-
|
5
|
-
## 8.1.0.pre1
|
1
|
+
## 8.1.0
|
6
2
|
|
7
3
|
Adds support for Faraday version 2. From [Faraday's Upgrading guide](https://github.com/lostisland/faraday/blob/main/UPGRADING.md#faraday-20), the main change is the adapters have moved:
|
8
4
|
|
data/README.md
CHANGED
@@ -42,10 +42,12 @@ Features overview:
|
|
42
42
|
* Request retries and dead connections handling
|
43
43
|
* Node reloading (based on cluster state) on errors or on demand
|
44
44
|
|
45
|
+
This library uses [Faraday](https://github.com/lostisland/faraday) by default as the HTTP transport implementation. We test it it with Faraday versions 1.x and Faraday 2.x.
|
46
|
+
|
45
47
|
For optimal performance, use a HTTP library which supports persistent ("keep-alive") connections, such as [patron](https://github.com/toland/patron) or [Typhoeus](https://github.com/typhoeus/typhoeus).
|
46
|
-
|
48
|
+
Require the library (`require 'patron'`) in your code for Faraday 1.x or the adapter (`require 'faraday/patron'`) for Faraday 2.x, and it will be automatically used.
|
47
49
|
|
48
|
-
Currently these libraries
|
50
|
+
Currently these libraries are supported:
|
49
51
|
- [Patron](https://github.com/toland/patron)
|
50
52
|
- [Typhoeus](https://github.com/typhoeus/typhoeus)
|
51
53
|
- [HTTPClient](https://rubygems.org/gems/httpclient)
|
@@ -53,12 +55,11 @@ Currently these libraries will be automatically detected and used:
|
|
53
55
|
|
54
56
|
**Note on [Typhoeus](https://github.com/typhoeus/typhoeus)**: You need to use v1.4.0 or up since older versions are not compatible with Faraday 1.0.
|
55
57
|
|
56
|
-
For detailed information, see example configurations [below](#transport-implementations).
|
58
|
+
You can customize Faraday and implement your own HTTP transport. For detailed information, see the example configurations and more information [below](#transport-implementations).
|
57
59
|
|
58
60
|
## Example Usage
|
59
61
|
|
60
|
-
In the simplest form, connect to Elasticsearch running on <http://localhost:9200>
|
61
|
-
without any configuration:
|
62
|
+
In the simplest form, connect to Elasticsearch running on <http://localhost:9200> without any configuration:
|
62
63
|
|
63
64
|
```ruby
|
64
65
|
require 'elastic/transport'
|
@@ -346,14 +347,23 @@ Elastic::Transport::Client.new hosts: ['x1.search.org', 'x2.search.org'], select
|
|
346
347
|
|
347
348
|
By default, the client will use the [_Faraday_](https://rubygems.org/gems/faraday) HTTP library as a transport implementation.
|
348
349
|
|
349
|
-
It will auto-detect and use an _adapter_ for _Faraday_ based on gems loaded in your code, preferring HTTP clients with support for persistent connections.
|
350
|
-
|
351
|
-
To use the [_Patron_](https://github.com/toland/patron) HTTP, for example, just require it:
|
350
|
+
It will auto-detect and use an _adapter_ for _Faraday_ based on gems loaded in your code, preferring HTTP clients with support for persistent connections. Faraday 2 changed the way adapters are used ([read more here](https://github.com/lostisland/faraday/blob/main/UPGRADING.md#adapters-have-moved)). If you're using Faraday 1.x, you can require the HTTP library. To use the [_Patron_](https://github.com/toland/patron) HTTP, for example, require it:
|
352
351
|
|
353
352
|
```ruby
|
354
353
|
require 'patron'
|
355
354
|
```
|
356
355
|
|
356
|
+
If you're using Faraday 2.x, you need to add the corresponding adapter gem to your Gemfile and require them after you require `faraday`:
|
357
|
+
|
358
|
+
```ruby
|
359
|
+
# Gemfile
|
360
|
+
gem 'faraday-patron'
|
361
|
+
|
362
|
+
# Code
|
363
|
+
require 'faraday'
|
364
|
+
require 'faraday/patron'
|
365
|
+
```
|
366
|
+
|
357
367
|
Then, create a new client, and the _Patron_ gem will be used as the "driver":
|
358
368
|
|
359
369
|
```ruby
|
@@ -377,6 +387,10 @@ end
|
|
377
387
|
To use a specific adapter for _Faraday_, pass it as the `adapter` argument:
|
378
388
|
|
379
389
|
```ruby
|
390
|
+
# Gemfile
|
391
|
+
gem 'faraday-net_http_persistent'
|
392
|
+
|
393
|
+
# Code
|
380
394
|
client = Elastic::Transport::Client.new(adapter: :net_http_persistent)
|
381
395
|
|
382
396
|
client.transport.connections.first.connection.builder.handlers
|
data/elastic-transport.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elastic-transport
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.1.0
|
4
|
+
version: 8.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Karel Minarik
|
@@ -10,22 +10,22 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2022-
|
13
|
+
date: 2022-09-01 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: faraday
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- - "
|
19
|
+
- - "<"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
21
|
+
version: '3'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- - "
|
26
|
+
- - "<"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '
|
28
|
+
version: '3'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: multi_json
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -334,9 +334,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
334
334
|
version: '2.5'
|
335
335
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
336
336
|
requirements:
|
337
|
-
- - "
|
337
|
+
- - ">="
|
338
338
|
- !ruby/object:Gem::Version
|
339
|
-
version:
|
339
|
+
version: '0'
|
340
340
|
requirements: []
|
341
341
|
rubygems_version: 3.3.7
|
342
342
|
signing_key:
|