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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/license.yml +2 -2
  3. data/.github/workflows/otel.yml +48 -0
  4. data/.github/workflows/tests.yml +45 -5
  5. data/.gitignore +1 -1
  6. data/CHANGELOG.md +131 -8
  7. data/CONTRIBUTING.md +64 -0
  8. data/Gemfile +10 -9
  9. data/Gemfile-faraday1.gemfile +40 -0
  10. data/README.md +7 -528
  11. data/Rakefile +48 -1
  12. data/elastic-transport.gemspec +6 -9
  13. data/lib/elastic/transport/client.rb +66 -45
  14. data/lib/elastic/transport/meta_header.rb +21 -12
  15. data/lib/elastic/transport/opentelemetry.rb +166 -0
  16. data/lib/elastic/transport/transport/base.rb +74 -54
  17. data/lib/elastic/transport/transport/errors.rb +2 -4
  18. data/lib/elastic/transport/transport/http/curb.rb +30 -26
  19. data/lib/elastic/transport/transport/http/faraday.rb +30 -27
  20. data/lib/elastic/transport/transport/http/manticore.rb +10 -4
  21. data/lib/elastic/transport/transport/response.rb +3 -3
  22. data/lib/elastic/transport/transport/serializer/multi_json.rb +3 -3
  23. data/lib/elastic/transport/transport/sniffer.rb +3 -1
  24. data/lib/elastic/transport/version.rb +1 -1
  25. data/lib/elastic/transport.rb +1 -0
  26. data/spec/elastic/transport/base_spec.rb +26 -25
  27. data/spec/elastic/transport/client_spec.rb +91 -18
  28. data/spec/elastic/transport/http/manticore_spec.rb +20 -2
  29. data/spec/elastic/transport/meta_header_spec.rb +26 -11
  30. data/spec/elastic/transport/opentelemetry_spec.rb +325 -0
  31. data/spec/elastic/transport/sniffer_spec.rb +18 -0
  32. data/spec/spec_helper.rb +16 -1
  33. data/test/integration/jruby_test.rb +1 -1
  34. data/test/integration/transport_test.rb +86 -40
  35. data/test/test_helper.rb +9 -6
  36. data/test/unit/adapters_test.rb +104 -0
  37. data/test/unit/connection_test.rb +35 -37
  38. data/test/unit/transport_base_test.rb +7 -8
  39. data/test/unit/transport_curb_test.rb +2 -3
  40. data/test/unit/transport_manticore_test.rb +1 -1
  41. 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 "Connection" do
24
- should "be initialized with :host, :connection, and :options" do
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 "return full path" do
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', {:foo => 'bar'})
36
- assert_equal '_search?foo=bar+bam', c.full_path('_search', {:foo => 'bar bam'})
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 "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'})
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 "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'})
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 "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'})
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 "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'})
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 "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'})
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 "have a string representation" do
65
- c = Connection.new :host => 'x'
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 "not be dead by default" do
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 "be dead when marked" do
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 "be alive when marked" do
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 "be healthy when marked" do
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 "be resurrected if timeout passed" do
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 c.resurrect!, c.inspect
111
- assert ! c.dead?, c.inspect
110
+ assert(c.resurrect!, c.inspect)
111
+ assert(!c.dead?, c.inspect)
112
112
  end
113
113
 
114
- should "be resurrected if timeout passed for multiple failures" do
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 "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 })
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
- # `block.expects(:call).raises(::Errno::ECONNREFUSED)` fails on Ruby 1.8
259
- block = lambda { |a,b| raise ::Errno::ECONNREFUSED }
258
+ block = lambda { |a,b| raise Elastic::Transport::Transport::Error }
260
259
 
261
- assert_raise ::Errno::ECONNREFUSED do
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 ::Errno::ECONNREFUSED }
293
+ block = lambda { |a, b| raise Errno::ECONNREFUSED }
295
294
 
296
295
  c.expects(:dead!)
297
296
 
298
- assert_raise( ::Errno::ECONNREFUSED ) { @transport.perform_request 'GET', '/', &block }
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
- raises(Errno::ECONNREFUSED).
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
- raises(Errno::ECONNREFUSED).
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 Errno::ECONNREFUSED do
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('HTTP/1.1 200 OK\r\nContent-Type: application/json; charset=UTF-8\r\nContent-Length: 311\r\n\r\n')
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
@@ -111,7 +111,7 @@ if JRUBY
111
111
  {
112
112
  body: '{"foo":"bar"}',
113
113
  headers: {
114
- 'Content-Type' => 'application/json',
114
+ 'Content-Type' => 'application/x-ndjson',
115
115
  'User-Agent' => @transport.send(:user_agent_header)
116
116
  }
117
117
  }
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.0.0
4
+ version: 8.4.0
5
5
  platform: ruby
6
6
  authors:
7
- - Karel Minarik
8
- - Emily Stolfo
9
- - Fernando Briano
10
- autorequire:
7
+ - Elastic Client Library Maintainers
11
8
  bindir: bin
12
9
  cert_chain: []
13
- date: 2022-02-10 00:00:00.000000000 Z
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: '1'
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: '1'
25
+ version: '3'
43
26
  - !ruby/object:Gem::Dependency
44
- name: bundler
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: :development
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: cane
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: curb
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: hashie
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: httpclient
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
- - support@elastic.co
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.3.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