elastic-transport 8.0.0 → 8.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/license.yml +2 -2
- data/.github/workflows/otel.yml +48 -0
- data/.github/workflows/tests.yml +45 -5
- data/.gitignore +1 -1
- data/CHANGELOG.md +131 -8
- data/CONTRIBUTING.md +64 -0
- data/Gemfile +10 -9
- data/Gemfile-faraday1.gemfile +40 -0
- data/README.md +7 -528
- data/Rakefile +48 -1
- data/elastic-transport.gemspec +6 -9
- data/lib/elastic/transport/client.rb +66 -45
- data/lib/elastic/transport/meta_header.rb +21 -12
- data/lib/elastic/transport/opentelemetry.rb +166 -0
- data/lib/elastic/transport/transport/base.rb +74 -54
- data/lib/elastic/transport/transport/errors.rb +2 -4
- data/lib/elastic/transport/transport/http/curb.rb +30 -26
- data/lib/elastic/transport/transport/http/faraday.rb +30 -27
- data/lib/elastic/transport/transport/http/manticore.rb +10 -4
- data/lib/elastic/transport/transport/response.rb +3 -3
- data/lib/elastic/transport/transport/serializer/multi_json.rb +3 -3
- data/lib/elastic/transport/transport/sniffer.rb +3 -1
- data/lib/elastic/transport/version.rb +1 -1
- data/lib/elastic/transport.rb +1 -0
- data/spec/elastic/transport/base_spec.rb +26 -25
- data/spec/elastic/transport/client_spec.rb +91 -18
- data/spec/elastic/transport/http/manticore_spec.rb +20 -2
- data/spec/elastic/transport/meta_header_spec.rb +26 -11
- data/spec/elastic/transport/opentelemetry_spec.rb +325 -0
- data/spec/elastic/transport/sniffer_spec.rb +18 -0
- data/spec/spec_helper.rb +16 -1
- data/test/integration/jruby_test.rb +1 -1
- data/test/integration/transport_test.rb +86 -40
- data/test/test_helper.rb +9 -6
- data/test/unit/adapters_test.rb +104 -0
- data/test/unit/connection_test.rb +35 -37
- data/test/unit/transport_base_test.rb +7 -8
- data/test/unit/transport_curb_test.rb +2 -3
- data/test/unit/transport_manticore_test.rb +1 -1
- metadata +23 -76
@@ -0,0 +1,104 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
require 'test_helper'
|
19
|
+
|
20
|
+
class Elastic::Transport::ClientAdaptersUnitTest < Minitest::Test
|
21
|
+
context 'Adapters' do
|
22
|
+
setup do
|
23
|
+
begin
|
24
|
+
Object.send(:remove_const, :Patron)
|
25
|
+
rescue NameError
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
should 'use the default Faraday adapter' do
|
30
|
+
fork do
|
31
|
+
client = Elastic::Transport::Client.new
|
32
|
+
assert_equal(client.transport.connections.first.connection.adapter, Faraday::Adapter::NetHttp)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
should 'use Patron Faraday adapter' do
|
37
|
+
fork do
|
38
|
+
if is_faraday_v2?
|
39
|
+
require 'faraday/patron'
|
40
|
+
else
|
41
|
+
require 'patron'
|
42
|
+
end
|
43
|
+
|
44
|
+
client = Elastic::Transport::Client.new
|
45
|
+
assert_equal(client.transport.connections.first.connection.adapter, Faraday::Adapter::Patron)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
should 'use Typhoeus Faraday adapter' do
|
50
|
+
fork do
|
51
|
+
if is_faraday_v2?
|
52
|
+
require 'faraday/typhoeus'
|
53
|
+
else
|
54
|
+
require 'typhoeus'
|
55
|
+
end
|
56
|
+
|
57
|
+
client = Elastic::Transport::Client.new
|
58
|
+
assert_equal(client.transport.connections.first.connection.adapter, Faraday::Adapter::Typhoeus)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
should 'use NetHttpPersistent Faraday adapter' do
|
63
|
+
fork do
|
64
|
+
if is_faraday_v2?
|
65
|
+
require 'faraday/net_http_persistent'
|
66
|
+
else
|
67
|
+
require 'net/http/persistent'
|
68
|
+
end
|
69
|
+
|
70
|
+
client = Elastic::Transport::Client.new
|
71
|
+
assert_equal(client.transport.connections.first.connection.adapter, Faraday::Adapter::NetHttpPersistent)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
should 'use Excon Faraday adapter' do
|
76
|
+
fork do
|
77
|
+
require 'faraday/excon'
|
78
|
+
client = Elastic::Transport::Client.new
|
79
|
+
assert_equal(client.transport.connections.first.connection.adapter, Faraday::Adapter::Excon)
|
80
|
+
end
|
81
|
+
end if is_faraday_v2?
|
82
|
+
|
83
|
+
should 'use Async HTTP Faraday adapter' do
|
84
|
+
fork do
|
85
|
+
require 'async/http/faraday'
|
86
|
+
client = Elastic::Transport::Client.new
|
87
|
+
assert_equal(client.transport.connections.first.connection.adapter, Async::HTTP::Faraday::Adapter)
|
88
|
+
end
|
89
|
+
end if is_faraday_v2?
|
90
|
+
|
91
|
+
should 'use HTTPClient Faraday adapter' do
|
92
|
+
fork do
|
93
|
+
if is_faraday_v2?
|
94
|
+
require 'faraday/httpclient'
|
95
|
+
else
|
96
|
+
require 'httpclient'
|
97
|
+
end
|
98
|
+
|
99
|
+
client = Elastic::Transport::Client.new
|
100
|
+
assert_equal(client.transport.connections.first.connection.adapter, Faraday::Adapter::HTTPClient)
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end unless jruby?
|
104
|
+
end
|
@@ -20,66 +20,66 @@ require 'test_helper'
|
|
20
20
|
class Elastic::Transport::Transport::Connections::ConnectionTest < Minitest::Test
|
21
21
|
include Elastic::Transport::Transport::Connections
|
22
22
|
|
23
|
-
context
|
24
|
-
should
|
23
|
+
context 'Connection' do
|
24
|
+
should 'be initialized with :host, :connection, and :options' do
|
25
25
|
c = Connection.new :host => 'x', :connection => 'y', :options => {}
|
26
26
|
assert_equal 'x', c.host
|
27
27
|
assert_equal 'y', c.connection
|
28
28
|
assert_instance_of Hash, c.options
|
29
29
|
end
|
30
30
|
|
31
|
-
should
|
31
|
+
should 'return full path' do
|
32
32
|
c = Connection.new
|
33
33
|
assert_equal '_search', c.full_path('_search')
|
34
34
|
assert_equal '_search', c.full_path('_search', {})
|
35
|
-
assert_equal '_search?foo=bar', c.full_path('_search', {:
|
36
|
-
assert_equal '_search?foo=bar+bam', c.full_path('_search', {:
|
35
|
+
assert_equal '_search?foo=bar', c.full_path('_search', {foo: 'bar'})
|
36
|
+
assert_equal '_search?foo=bar+bam', c.full_path('_search', {foo: 'bar bam'})
|
37
37
|
end
|
38
38
|
|
39
|
-
should
|
40
|
-
c = Connection.new :
|
41
|
-
assert_equal 'http://localhost:9200/_search?foo=bar', c.full_url('_search', {:
|
39
|
+
should 'return full url' do
|
40
|
+
c = Connection.new host: { protocol: 'http', host: 'localhost', port: '9200' }
|
41
|
+
assert_equal 'http://localhost:9200/_search?foo=bar', c.full_url('_search', { foo: 'bar' })
|
42
42
|
end
|
43
43
|
|
44
|
-
should
|
45
|
-
c = Connection.new :
|
46
|
-
assert_equal 'http://U:P@localhost:9200/_search?foo=bar', c.full_url('_search', {:
|
44
|
+
should 'return full url with credentials' do
|
45
|
+
c = Connection.new host: { protocol: 'http', user: 'U', password: 'P', host: 'localhost', port: '9200' }
|
46
|
+
assert_equal 'http://U:P@localhost:9200/_search?foo=bar', c.full_url('_search', { foo: 'bar' })
|
47
47
|
end
|
48
48
|
|
49
|
-
should
|
50
|
-
c = Connection.new :
|
51
|
-
assert_equal 'http://U%24%24%24:P%5E%5E%5E@localhost:9200/_search?foo=bar', c.full_url('_search', {:
|
49
|
+
should 'return full url with escaped credentials' do
|
50
|
+
c = Connection.new host: { protocol: 'http', user: 'U$$$', password: 'P^^^', host: 'localhost', port: '9200' }
|
51
|
+
assert_equal 'http://U%24%24%24:P%5E%5E%5E@localhost:9200/_search?foo=bar', c.full_url('_search', { foo: 'bar' })
|
52
52
|
end
|
53
53
|
|
54
|
-
should
|
55
|
-
c = Connection.new :
|
56
|
-
assert_equal 'http://localhost:9200/foo/_search?foo=bar', c.full_url('_search', {:
|
54
|
+
should 'return full url with path' do
|
55
|
+
c = Connection.new host: { protocol: 'http', host: 'localhost', port: '9200', path: '/foo' }
|
56
|
+
assert_equal 'http://localhost:9200/foo/_search?foo=bar', c.full_url('_search', { foo: 'bar' })
|
57
57
|
end
|
58
58
|
|
59
|
-
should
|
60
|
-
c = Connection.new :
|
61
|
-
assert_equal 'http://localhost:9200/foo/_search?foo=bar', c.full_url('/_search', {:
|
59
|
+
should 'return right full url with path when path starts with /' do
|
60
|
+
c = Connection.new host: { protocol: 'http', host: 'localhost', port: '9200', path: '/foo' }
|
61
|
+
assert_equal 'http://localhost:9200/foo/_search?foo=bar', c.full_url('/_search', { foo: 'bar' })
|
62
62
|
end
|
63
63
|
|
64
|
-
should
|
65
|
-
c = Connection.new
|
64
|
+
should 'have a string representation' do
|
65
|
+
c = Connection.new(host: 'x')
|
66
66
|
assert_match(/host: x/, c.to_s)
|
67
67
|
assert_match(/alive/, c.to_s)
|
68
68
|
end
|
69
69
|
|
70
|
-
should
|
70
|
+
should 'not be dead by default' do
|
71
71
|
c = Connection.new
|
72
72
|
assert ! c.dead?
|
73
73
|
end
|
74
74
|
|
75
|
-
should
|
75
|
+
should 'be dead when marked' do
|
76
76
|
c = Connection.new.dead!
|
77
77
|
assert c.dead?
|
78
78
|
assert_equal 1, c.failures
|
79
79
|
assert_in_delta c.dead_since, Time.now, 1
|
80
80
|
end
|
81
81
|
|
82
|
-
should
|
82
|
+
should 'be alive when marked' do
|
83
83
|
c = Connection.new.dead!
|
84
84
|
assert c.dead?
|
85
85
|
assert_equal 1, c.failures
|
@@ -90,7 +90,7 @@ class Elastic::Transport::Transport::Connections::ConnectionTest < Minitest::Tes
|
|
90
90
|
assert_equal 1, c.failures
|
91
91
|
end
|
92
92
|
|
93
|
-
should
|
93
|
+
should 'be healthy when marked' do
|
94
94
|
c = Connection.new.dead!
|
95
95
|
assert c.dead?
|
96
96
|
assert_equal 1, c.failures
|
@@ -101,35 +101,33 @@ class Elastic::Transport::Transport::Connections::ConnectionTest < Minitest::Tes
|
|
101
101
|
assert_equal 0, c.failures
|
102
102
|
end
|
103
103
|
|
104
|
-
should
|
104
|
+
should 'be resurrected if timeout passed' do
|
105
105
|
c = Connection.new.dead!
|
106
106
|
|
107
107
|
now = Time.now + 60
|
108
108
|
Time.stubs(:now).returns(now)
|
109
109
|
|
110
|
-
assert
|
111
|
-
assert
|
110
|
+
assert(c.resurrect!, c.inspect)
|
111
|
+
assert(!c.dead?, c.inspect)
|
112
112
|
end
|
113
113
|
|
114
|
-
should
|
114
|
+
should 'be resurrected if timeout passed for multiple failures' do
|
115
115
|
c = Connection.new.dead!.dead!
|
116
116
|
|
117
|
-
now = Time.now + 60*2
|
117
|
+
now = Time.now + 60 * 2
|
118
118
|
Time.stubs(:now).returns(now)
|
119
119
|
|
120
120
|
assert c.resurrect!, c.inspect
|
121
121
|
assert ! c.dead?, c.inspect
|
122
122
|
end
|
123
123
|
|
124
|
-
should
|
125
|
-
c1 = Connection.new(:
|
126
|
-
c2 = Connection.new(:
|
127
|
-
c3 = Connection.new(:
|
124
|
+
should 'implement the equality operator' do
|
125
|
+
c1 = Connection.new(host: { protocol: 'http', host: 'foo', port: 123 })
|
126
|
+
c2 = Connection.new(host: { protocol: 'http', host: 'foo', port: 123 })
|
127
|
+
c3 = Connection.new(host: { protocol: 'http', host: 'foo', port: 456 })
|
128
128
|
|
129
129
|
assert c1 == c2, "Connection #{c1} should be equal to #{c2}"
|
130
130
|
assert c2 != c3, "Connection #{c2} should NOT be equal to #{c3}"
|
131
131
|
end
|
132
|
-
|
133
132
|
end
|
134
|
-
|
135
133
|
end
|
@@ -255,10 +255,9 @@ class Elastic::Transport::Transport::BaseTest < Minitest::Test
|
|
255
255
|
should "raise an error on connection failure" do
|
256
256
|
@transport.expects(:get_connection).returns(stub_everything :failures => 1)
|
257
257
|
|
258
|
-
|
259
|
-
block = lambda { |a,b| raise ::Errno::ECONNREFUSED }
|
258
|
+
block = lambda { |a,b| raise Elastic::Transport::Transport::Error }
|
260
259
|
|
261
|
-
assert_raise ::
|
260
|
+
assert_raise Elastic::Transport::Transport::Error do
|
262
261
|
@transport.perform_request 'GET', '/', &block
|
263
262
|
end
|
264
263
|
end
|
@@ -291,11 +290,11 @@ class Elastic::Transport::Transport::BaseTest < Minitest::Test
|
|
291
290
|
c = stub_everything :failures => 1
|
292
291
|
@transport.expects(:get_connection).returns(c)
|
293
292
|
|
294
|
-
block = lambda { |a,b| raise
|
293
|
+
block = lambda { |a, b| raise Errno::ECONNREFUSED }
|
295
294
|
|
296
295
|
c.expects(:dead!)
|
297
296
|
|
298
|
-
assert_raise( ::
|
297
|
+
assert_raise( Elastic::Transport::Transport::Error ) { @transport.perform_request 'GET', '/', &block }
|
299
298
|
end
|
300
299
|
end
|
301
300
|
|
@@ -311,7 +310,7 @@ class Elastic::Transport::Transport::BaseTest < Minitest::Test
|
|
311
310
|
|
312
311
|
should "reload connections when host is unreachable" do
|
313
312
|
@block.expects(:call).times(2).
|
314
|
-
|
313
|
+
raises(Errno::ECONNREFUSED).
|
315
314
|
then.returns(stub_everything :failures => 1)
|
316
315
|
|
317
316
|
@transport.expects(:reload_connections!).returns([])
|
@@ -343,13 +342,13 @@ class Elastic::Transport::Transport::BaseTest < Minitest::Test
|
|
343
342
|
|
344
343
|
should "raise an error after max tries" do
|
345
344
|
@block.expects(:call).times(4).
|
346
|
-
|
345
|
+
raises(Errno::ECONNREFUSED).
|
347
346
|
then.raises(Errno::ECONNREFUSED).
|
348
347
|
then.raises(Errno::ECONNREFUSED).
|
349
348
|
then.raises(Errno::ECONNREFUSED).
|
350
349
|
then.returns(stub_everything :failures => 1)
|
351
350
|
|
352
|
-
assert_raise
|
351
|
+
assert_raise Elastic::Transport::Transport::Error do
|
353
352
|
@transport.perform_request('GET', '/', &@block)
|
354
353
|
end
|
355
354
|
end
|
@@ -83,11 +83,10 @@ else
|
|
83
83
|
should "set application/json response header" do
|
84
84
|
@transport.connections.first.connection.expects(:http).with(:GET).returns(stub_everything)
|
85
85
|
@transport.connections.first.connection.expects(:body_str).returns('{"foo":"bar"}')
|
86
|
-
@transport.connections.first.connection.expects(:header_str).returns(
|
86
|
+
@transport.connections.first.connection.expects(:header_str).returns("HTTP/1.1 200 OK\r\nContent-Type: application/json; charset=UTF-8\r\nContent-Length: 311\r\n\r\n")
|
87
87
|
|
88
88
|
response = @transport.perform_request 'GET', '/'
|
89
|
-
|
90
|
-
assert_equal 'application/json', response.headers['content-type']
|
89
|
+
assert_equal 'application/json; charset=UTF-8', response.headers['content-type']
|
91
90
|
end
|
92
91
|
|
93
92
|
should "handle HTTP methods" do
|
metadata
CHANGED
@@ -1,53 +1,36 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elastic-transport
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.
|
4
|
+
version: 8.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
- Emily Stolfo
|
9
|
-
- Fernando Briano
|
10
|
-
autorequire:
|
7
|
+
- Elastic Client Library Maintainers
|
11
8
|
bindir: bin
|
12
9
|
cert_chain: []
|
13
|
-
date:
|
10
|
+
date: 2025-02-18 00:00:00.000000000 Z
|
14
11
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: multi_json
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
18
|
-
requirements:
|
19
|
-
- - ">="
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
requirements:
|
26
|
-
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
version: '0'
|
29
12
|
- !ruby/object:Gem::Dependency
|
30
13
|
name: faraday
|
31
14
|
requirement: !ruby/object:Gem::Requirement
|
32
15
|
requirements:
|
33
|
-
- - "
|
16
|
+
- - "<"
|
34
17
|
- !ruby/object:Gem::Version
|
35
|
-
version: '
|
18
|
+
version: '3'
|
36
19
|
type: :runtime
|
37
20
|
prerelease: false
|
38
21
|
version_requirements: !ruby/object:Gem::Requirement
|
39
22
|
requirements:
|
40
|
-
- - "
|
23
|
+
- - "<"
|
41
24
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
25
|
+
version: '3'
|
43
26
|
- !ruby/object:Gem::Dependency
|
44
|
-
name:
|
27
|
+
name: multi_json
|
45
28
|
requirement: !ruby/object:Gem::Requirement
|
46
29
|
requirements:
|
47
30
|
- - ">="
|
48
31
|
- !ruby/object:Gem::Version
|
49
32
|
version: '0'
|
50
|
-
type: :
|
33
|
+
type: :runtime
|
51
34
|
prerelease: false
|
52
35
|
version_requirements: !ruby/object:Gem::Requirement
|
53
36
|
requirements:
|
@@ -55,7 +38,7 @@ dependencies:
|
|
55
38
|
- !ruby/object:Gem::Version
|
56
39
|
version: '0'
|
57
40
|
- !ruby/object:Gem::Dependency
|
58
|
-
name:
|
41
|
+
name: curb
|
59
42
|
requirement: !ruby/object:Gem::Requirement
|
60
43
|
requirements:
|
61
44
|
- - ">="
|
@@ -69,7 +52,7 @@ dependencies:
|
|
69
52
|
- !ruby/object:Gem::Version
|
70
53
|
version: '0'
|
71
54
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
55
|
+
name: bundler
|
73
56
|
requirement: !ruby/object:Gem::Requirement
|
74
57
|
requirements:
|
75
58
|
- - ">="
|
@@ -83,7 +66,7 @@ dependencies:
|
|
83
66
|
- !ruby/object:Gem::Version
|
84
67
|
version: '0'
|
85
68
|
- !ruby/object:Gem::Dependency
|
86
|
-
name:
|
69
|
+
name: cane
|
87
70
|
requirement: !ruby/object:Gem::Requirement
|
88
71
|
requirements:
|
89
72
|
- - ">="
|
@@ -97,7 +80,7 @@ dependencies:
|
|
97
80
|
- !ruby/object:Gem::Version
|
98
81
|
version: '0'
|
99
82
|
- !ruby/object:Gem::Dependency
|
100
|
-
name:
|
83
|
+
name: hashie
|
101
84
|
requirement: !ruby/object:Gem::Requirement
|
102
85
|
requirements:
|
103
86
|
- - ">="
|
@@ -152,34 +135,6 @@ dependencies:
|
|
152
135
|
- - ">="
|
153
136
|
- !ruby/object:Gem::Version
|
154
137
|
version: '0'
|
155
|
-
- !ruby/object:Gem::Dependency
|
156
|
-
name: net-http-persistent
|
157
|
-
requirement: !ruby/object:Gem::Requirement
|
158
|
-
requirements:
|
159
|
-
- - ">="
|
160
|
-
- !ruby/object:Gem::Version
|
161
|
-
version: '0'
|
162
|
-
type: :development
|
163
|
-
prerelease: false
|
164
|
-
version_requirements: !ruby/object:Gem::Requirement
|
165
|
-
requirements:
|
166
|
-
- - ">="
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
version: '0'
|
169
|
-
- !ruby/object:Gem::Dependency
|
170
|
-
name: patron
|
171
|
-
requirement: !ruby/object:Gem::Requirement
|
172
|
-
requirements:
|
173
|
-
- - ">="
|
174
|
-
- !ruby/object:Gem::Version
|
175
|
-
version: '0'
|
176
|
-
type: :development
|
177
|
-
prerelease: false
|
178
|
-
version_requirements: !ruby/object:Gem::Requirement
|
179
|
-
requirements:
|
180
|
-
- - ">="
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
version: '0'
|
183
138
|
- !ruby/object:Gem::Dependency
|
184
139
|
name: pry
|
185
140
|
requirement: !ruby/object:Gem::Requirement
|
@@ -278,20 +233,6 @@ dependencies:
|
|
278
233
|
- - "~>"
|
279
234
|
- !ruby/object:Gem::Version
|
280
235
|
version: '2'
|
281
|
-
- !ruby/object:Gem::Dependency
|
282
|
-
name: typhoeus
|
283
|
-
requirement: !ruby/object:Gem::Requirement
|
284
|
-
requirements:
|
285
|
-
- - "~>"
|
286
|
-
- !ruby/object:Gem::Version
|
287
|
-
version: '1.4'
|
288
|
-
type: :development
|
289
|
-
prerelease: false
|
290
|
-
version_requirements: !ruby/object:Gem::Requirement
|
291
|
-
requirements:
|
292
|
-
- - "~>"
|
293
|
-
- !ruby/object:Gem::Version
|
294
|
-
version: '1.4'
|
295
236
|
- !ruby/object:Gem::Dependency
|
296
237
|
name: yard
|
297
238
|
requirement: !ruby/object:Gem::Requirement
|
@@ -311,7 +252,7 @@ description: 'Low level Ruby client for Elastic. See the `elasticsearch` or `ela
|
|
311
252
|
|
312
253
|
'
|
313
254
|
email:
|
314
|
-
-
|
255
|
+
- client-libs@elastic.co
|
315
256
|
executables: []
|
316
257
|
extensions: []
|
317
258
|
extra_rdoc_files:
|
@@ -321,10 +262,13 @@ files:
|
|
321
262
|
- ".github/check_license_headers.rb"
|
322
263
|
- ".github/license-header.txt"
|
323
264
|
- ".github/workflows/license.yml"
|
265
|
+
- ".github/workflows/otel.yml"
|
324
266
|
- ".github/workflows/tests.yml"
|
325
267
|
- ".gitignore"
|
326
268
|
- CHANGELOG.md
|
269
|
+
- CONTRIBUTING.md
|
327
270
|
- Gemfile
|
271
|
+
- Gemfile-faraday1.gemfile
|
328
272
|
- LICENSE
|
329
273
|
- README.md
|
330
274
|
- Rakefile
|
@@ -333,6 +277,7 @@ files:
|
|
333
277
|
- lib/elastic/transport.rb
|
334
278
|
- lib/elastic/transport/client.rb
|
335
279
|
- lib/elastic/transport/meta_header.rb
|
280
|
+
- lib/elastic/transport/opentelemetry.rb
|
336
281
|
- lib/elastic/transport/redacted.rb
|
337
282
|
- lib/elastic/transport/transport/base.rb
|
338
283
|
- lib/elastic/transport/transport/connections/collection.rb
|
@@ -355,12 +300,14 @@ files:
|
|
355
300
|
- spec/elastic/transport/http/faraday_spec.rb
|
356
301
|
- spec/elastic/transport/http/manticore_spec.rb
|
357
302
|
- spec/elastic/transport/meta_header_spec.rb
|
303
|
+
- spec/elastic/transport/opentelemetry_spec.rb
|
358
304
|
- spec/elastic/transport/sniffer_spec.rb
|
359
305
|
- spec/spec_helper.rb
|
360
306
|
- test/integration/jruby_test.rb
|
361
307
|
- test/integration/transport_test.rb
|
362
308
|
- test/profile/client_benchmark_test.rb
|
363
309
|
- test/test_helper.rb
|
310
|
+
- test/unit/adapters_test.rb
|
364
311
|
- test/unit/connection_test.rb
|
365
312
|
- test/unit/response_test.rb
|
366
313
|
- test/unit/serializer_test.rb
|
@@ -376,7 +323,6 @@ metadata:
|
|
376
323
|
changelog_uri: https://github.com/elastic/elastic-transport-ruby/blob/master/CHANGELOG.md
|
377
324
|
source_code_uri: https://github.com/elastic/elastic-transport-ruby
|
378
325
|
bug_tracker_uri: https://github.com/elastic/elastic-transport-ruby/issues
|
379
|
-
post_install_message:
|
380
326
|
rdoc_options:
|
381
327
|
- "--charset=UTF-8"
|
382
328
|
require_paths:
|
@@ -392,8 +338,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
392
338
|
- !ruby/object:Gem::Version
|
393
339
|
version: '0'
|
394
340
|
requirements: []
|
395
|
-
rubygems_version: 3.
|
396
|
-
signing_key:
|
341
|
+
rubygems_version: 3.6.2
|
397
342
|
specification_version: 4
|
398
343
|
summary: Low level Ruby client for Elastic services.
|
399
344
|
test_files:
|
@@ -405,12 +350,14 @@ test_files:
|
|
405
350
|
- spec/elastic/transport/http/faraday_spec.rb
|
406
351
|
- spec/elastic/transport/http/manticore_spec.rb
|
407
352
|
- spec/elastic/transport/meta_header_spec.rb
|
353
|
+
- spec/elastic/transport/opentelemetry_spec.rb
|
408
354
|
- spec/elastic/transport/sniffer_spec.rb
|
409
355
|
- spec/spec_helper.rb
|
410
356
|
- test/integration/jruby_test.rb
|
411
357
|
- test/integration/transport_test.rb
|
412
358
|
- test/profile/client_benchmark_test.rb
|
413
359
|
- test/test_helper.rb
|
360
|
+
- test/unit/adapters_test.rb
|
414
361
|
- test/unit/connection_test.rb
|
415
362
|
- test/unit/response_test.rb
|
416
363
|
- test/unit/serializer_test.rb
|