elasticsearch-transport 6.3.0 → 6.8.3

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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +86 -32
  3. data/elasticsearch-transport.gemspec +45 -64
  4. data/lib/elasticsearch-transport.rb +4 -0
  5. data/lib/elasticsearch/transport.rb +4 -0
  6. data/lib/elasticsearch/transport/client.rb +141 -20
  7. data/lib/elasticsearch/transport/redacted.rb +4 -0
  8. data/lib/elasticsearch/transport/transport/base.rb +17 -7
  9. data/lib/elasticsearch/transport/transport/connections/collection.rb +4 -0
  10. data/lib/elasticsearch/transport/transport/connections/connection.rb +4 -0
  11. data/lib/elasticsearch/transport/transport/connections/selector.rb +4 -0
  12. data/lib/elasticsearch/transport/transport/errors.rb +4 -0
  13. data/lib/elasticsearch/transport/transport/http/curb.rb +6 -2
  14. data/lib/elasticsearch/transport/transport/http/faraday.rb +6 -2
  15. data/lib/elasticsearch/transport/transport/http/manticore.rb +5 -1
  16. data/lib/elasticsearch/transport/transport/response.rb +4 -0
  17. data/lib/elasticsearch/transport/transport/serializer/multi_json.rb +4 -0
  18. data/lib/elasticsearch/transport/transport/sniffer.rb +31 -3
  19. data/lib/elasticsearch/transport/version.rb +5 -1
  20. data/spec/elasticsearch/transport/base_spec.rb +187 -8
  21. data/spec/elasticsearch/transport/client_spec.rb +157 -23
  22. data/spec/elasticsearch/transport/meta_header_spec.rb +214 -0
  23. data/spec/elasticsearch/transport/sniffer_spec.rb +269 -0
  24. data/spec/spec_helper.rb +11 -0
  25. data/test/integration/transport_test.rb +4 -0
  26. data/test/profile/client_benchmark_test.rb +4 -0
  27. data/test/test_helper.rb +4 -0
  28. data/test/unit/connection_collection_test.rb +4 -0
  29. data/test/unit/connection_selector_test.rb +4 -0
  30. data/test/unit/connection_test.rb +4 -0
  31. data/test/unit/response_test.rb +5 -1
  32. data/test/unit/serializer_test.rb +4 -0
  33. data/test/unit/transport_base_test.rb +4 -0
  34. data/test/unit/transport_curb_test.rb +4 -0
  35. data/test/unit/transport_faraday_test.rb +4 -0
  36. data/test/unit/transport_manticore_test.rb +4 -0
  37. metadata +80 -54
  38. data/test/unit/sniffer_test.rb +0 -179
@@ -0,0 +1,269 @@
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 'spec_helper'
19
+
20
+ describe Elasticsearch::Transport::Transport::Sniffer do
21
+
22
+ let(:transport) do
23
+ double('transport').tap do |t|
24
+ allow(t).to receive(:perform_request).and_return(response)
25
+ allow(t).to receive(:options).and_return(sniffer_timeout: 2)
26
+ end
27
+ end
28
+
29
+ let(:sniffer) do
30
+ described_class.new(transport)
31
+ end
32
+
33
+ let(:response) do
34
+ double('response').tap do |r|
35
+ allow(r).to receive(:body).and_return(raw_response)
36
+ end
37
+ end
38
+
39
+ let(:raw_response) do
40
+ { 'nodes' => { 'n1' => { 'http' => { 'publish_address' => publish_address } } } }
41
+ end
42
+
43
+ let(:publish_address) do
44
+ '127.0.0.1:9250'
45
+ end
46
+
47
+ describe '#initialize' do
48
+
49
+ it 'has a transport instance' do
50
+ expect(sniffer.transport).to be(transport)
51
+ end
52
+
53
+ it 'inherits the sniffer timeout from the transport object' do
54
+ expect(sniffer.timeout).to eq(2)
55
+ end
56
+ end
57
+
58
+ describe '#timeout' do
59
+
60
+ let(:sniffer) do
61
+ described_class.new(double('transport', options: {}))
62
+ end
63
+
64
+ before do
65
+ sniffer.timeout = 3
66
+ end
67
+
68
+ it 'allows the timeout to be configured' do
69
+ expect(sniffer.timeout).to eq(3)
70
+ end
71
+ end
72
+
73
+ describe '#hosts' do
74
+
75
+ let(:hosts) do
76
+ sniffer.hosts
77
+ end
78
+
79
+ context 'when the entire response is parsed' do
80
+
81
+ let(:raw_response) do
82
+ {
83
+ "cluster_name" => "elasticsearch_test",
84
+ "nodes" => {
85
+ "N1" => {
86
+ "name" => "Node 1",
87
+ "transport_address" => "127.0.0.1:9300",
88
+ "host" => "testhost1",
89
+ "ip" => "127.0.0.1",
90
+ "version" => "7.0.0",
91
+ "roles" => [
92
+ "master",
93
+ "data",
94
+ "ingest"
95
+ ],
96
+ "attributes" => {
97
+ "testattr" => "test"
98
+ },
99
+ "http" => {
100
+ "bound_address" => [
101
+ "[fe80::1]:9250",
102
+ "[::1]:9250",
103
+ "127.0.0.1:9250"
104
+ ],
105
+ "publish_address" => "127.0.0.1:9250",
106
+ "max_content_length_in_bytes" => 104857600
107
+ }
108
+ }
109
+ }
110
+ }
111
+ end
112
+
113
+ it 'parses the id' do
114
+ expect(sniffer.hosts[0][:id]).to eq('N1')
115
+ end
116
+
117
+ it 'parses the name' do
118
+ expect(sniffer.hosts[0][:name]).to eq('Node 1')
119
+ end
120
+
121
+ it 'parses the version' do
122
+ expect(sniffer.hosts[0][:version]).to eq('7.0.0')
123
+ end
124
+
125
+ it 'parses the host' do
126
+ expect(sniffer.hosts[0][:host]).to eq('127.0.0.1')
127
+ end
128
+
129
+ it 'parses the port' do
130
+ expect(sniffer.hosts[0][:port]).to eq('9250')
131
+ end
132
+
133
+ it 'parses the roles' do
134
+ expect(sniffer.hosts[0][:roles]).to eq(['master',
135
+ 'data',
136
+ 'ingest'])
137
+ end
138
+
139
+ it 'parses the attributes' do
140
+ expect(sniffer.hosts[0][:attributes]).to eq('testattr' => 'test')
141
+ end
142
+ end
143
+
144
+ context 'when the transport protocol does not match' do
145
+
146
+ let(:raw_response) do
147
+ { 'nodes' => { 'n1' => { 'foo' => { 'publish_address' => '127.0.0.1:9250' } } } }
148
+ end
149
+
150
+ it 'does not parse the addresses' do
151
+ expect(hosts).to eq([])
152
+ end
153
+ end
154
+
155
+ context 'when a list of nodes is returned' do
156
+
157
+ let(:raw_response) do
158
+ { 'nodes' => { 'n1' => { 'http' => { 'publish_address' => '127.0.0.1:9250' } },
159
+ 'n2' => { 'http' => { 'publish_address' => '127.0.0.1:9251' } } } }
160
+ end
161
+
162
+ it 'parses the response' do
163
+ expect(hosts.size).to eq(2)
164
+ end
165
+
166
+ it 'correctly parses the hosts' do
167
+ expect(hosts[0][:host]).to eq('127.0.0.1')
168
+ expect(hosts[1][:host]).to eq('127.0.0.1')
169
+ end
170
+
171
+ it 'correctly parses the ports' do
172
+ expect(hosts[0][:port]).to eq('9250')
173
+ expect(hosts[1][:port]).to eq('9251')
174
+ end
175
+ end
176
+
177
+ context 'when the host and port are an ip address and port' do
178
+
179
+ it 'parses the response' do
180
+ expect(hosts.size).to eq(1)
181
+ end
182
+
183
+ it 'correctly parses the host' do
184
+ expect(hosts[0][:host]).to eq('127.0.0.1')
185
+ end
186
+
187
+ it 'correctly parses the port' do
188
+ expect(hosts[0][:port]).to eq('9250')
189
+ end
190
+ end
191
+
192
+ context 'when the host and port are a hostname and port' do
193
+
194
+ let(:publish_address) do
195
+ 'testhost1.com:9250'
196
+ end
197
+
198
+ let(:hosts) do
199
+ sniffer.hosts
200
+ end
201
+
202
+ it 'parses the response' do
203
+ expect(hosts.size).to eq(1)
204
+ end
205
+
206
+ it 'correctly parses the host' do
207
+ expect(hosts[0][:host]).to eq('testhost1.com')
208
+ end
209
+
210
+ it 'correctly parses the port' do
211
+ expect(hosts[0][:port]).to eq('9250')
212
+ end
213
+ end
214
+
215
+ context 'when the host and port are in the format: hostname/ip:port' do
216
+
217
+ let(:publish_address) do
218
+ 'example.com/127.0.0.1:9250'
219
+ end
220
+
221
+ it 'parses the response' do
222
+ expect(hosts.size).to eq(1)
223
+ end
224
+
225
+ it 'uses the hostname' do
226
+ expect(hosts[0][:host]).to eq('example.com')
227
+ end
228
+
229
+ it 'correctly parses the port' do
230
+ expect(hosts[0][:port]).to eq('9250')
231
+ end
232
+ end
233
+
234
+ context 'when the address is IPv6' do
235
+
236
+ let(:publish_address) do
237
+ '[::1]:9250'
238
+ end
239
+
240
+ it 'parses the response' do
241
+ expect(hosts.size).to eq(1)
242
+ end
243
+
244
+ it 'correctly parses the host' do
245
+ expect(hosts[0][:host]).to eq('::1')
246
+ end
247
+
248
+ it 'correctly parses the port' do
249
+ expect(hosts[0][:port]).to eq('9250')
250
+ end
251
+ end
252
+
253
+ context 'when the transport has :randomize_hosts option' do
254
+
255
+ let(:raw_response) do
256
+ { 'nodes' => { 'n1' => { 'http' => { 'publish_address' => '127.0.0.1:9250' } },
257
+ 'n2' => { 'http' => { 'publish_address' => '127.0.0.1:9251' } } } }
258
+ end
259
+
260
+ before do
261
+ allow(transport).to receive(:options).and_return(randomize_hosts: true)
262
+ end
263
+
264
+ it 'shuffles the list' do
265
+ expect(hosts.size).to eq(2)
266
+ end
267
+ end
268
+ end
269
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,20 @@
1
+ # Licensed to Elasticsearch B.V under one or more agreements.
2
+ # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
+ # See the LICENSE file in the project root for more information
4
+
1
5
  require 'elasticsearch'
2
6
  require 'elasticsearch-transport'
3
7
  require 'logger'
4
8
  require 'ansi/code'
5
9
  require 'hashie/mash'
6
10
  require 'pry-nav'
11
+ if defined?(JRUBY_VERSION)
12
+ require 'elasticsearch/transport/transport/http/manticore'
13
+ require 'pry-nav'
14
+ else
15
+ require 'elasticsearch/transport/transport/http/curb'
16
+ require 'curb'
17
+ end
7
18
 
8
19
  # The hosts to use for creating a elasticsearch client.
9
20
  #
@@ -1,3 +1,7 @@
1
+ # Licensed to Elasticsearch B.V under one or more agreements.
2
+ # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
+ # See the LICENSE file in the project root for more information
4
+
1
5
  require 'test_helper'
2
6
 
3
7
  class Elasticsearch::Transport::ClientIntegrationTest < Elasticsearch::Test::IntegrationTestCase
@@ -1,3 +1,7 @@
1
+ # Licensed to Elasticsearch B.V under one or more agreements.
2
+ # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
+ # See the LICENSE file in the project root for more information
4
+
1
5
  require 'test_helper'
2
6
 
3
7
  class Elasticsearch::Transport::ClientProfilingTest < Elasticsearch::Test::ProfilingTest
data/test/test_helper.rb CHANGED
@@ -1,3 +1,7 @@
1
+ # Licensed to Elasticsearch B.V under one or more agreements.
2
+ # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
+ # See the LICENSE file in the project root for more information
4
+
1
5
  RUBY_1_8 = defined?(RUBY_VERSION) && RUBY_VERSION < '1.9'
2
6
  JRUBY = defined?(JRUBY_VERSION)
3
7
 
@@ -1,3 +1,7 @@
1
+ # Licensed to Elasticsearch B.V under one or more agreements.
2
+ # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
+ # See the LICENSE file in the project root for more information
4
+
1
5
  require 'test_helper'
2
6
 
3
7
  class Elasticsearch::Transport::Transport::Connections::CollectionTest < Test::Unit::TestCase
@@ -1,3 +1,7 @@
1
+ # Licensed to Elasticsearch B.V under one or more agreements.
2
+ # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
+ # See the LICENSE file in the project root for more information
4
+
1
5
  require 'test_helper'
2
6
 
3
7
  class Elasticsearch::Transport::Transport::Connections::SelectorTest < Test::Unit::TestCase
@@ -1,3 +1,7 @@
1
+ # Licensed to Elasticsearch B.V under one or more agreements.
2
+ # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
+ # See the LICENSE file in the project root for more information
4
+
1
5
  require 'test_helper'
2
6
 
3
7
  class Elasticsearch::Transport::Transport::Connections::ConnectionTest < Test::Unit::TestCase
@@ -1,3 +1,7 @@
1
+ # Licensed to Elasticsearch B.V under one or more agreements.
2
+ # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
+ # See the LICENSE file in the project root for more information
4
+
1
5
  require 'test_helper'
2
6
 
3
7
  class Elasticsearch::Transport::Transport::ResponseTest < Test::Unit::TestCase
@@ -12,4 +16,4 @@ class Elasticsearch::Transport::Transport::ResponseTest < Test::Unit::TestCase
12
16
  end unless RUBY_1_8
13
17
 
14
18
  end
15
- end
19
+ end
@@ -1,3 +1,7 @@
1
+ # Licensed to Elasticsearch B.V under one or more agreements.
2
+ # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
+ # See the LICENSE file in the project root for more information
4
+
1
5
  require 'test_helper'
2
6
 
3
7
  class Elasticsearch::Transport::Transport::SerializerTest < Test::Unit::TestCase
@@ -1,3 +1,7 @@
1
+ # Licensed to Elasticsearch B.V under one or more agreements.
2
+ # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
+ # See the LICENSE file in the project root for more information
4
+
1
5
  require 'test_helper'
2
6
 
3
7
  class Elasticsearch::Transport::Transport::BaseTest < Test::Unit::TestCase
@@ -1,3 +1,7 @@
1
+ # Licensed to Elasticsearch B.V under one or more agreements.
2
+ # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
+ # See the LICENSE file in the project root for more information
4
+
1
5
  require 'test_helper'
2
6
 
3
7
  if JRUBY
@@ -1,3 +1,7 @@
1
+ # Licensed to Elasticsearch B.V under one or more agreements.
2
+ # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
+ # See the LICENSE file in the project root for more information
4
+
1
5
  require 'test_helper'
2
6
 
3
7
  class Elasticsearch::Transport::Transport::HTTP::FaradayTest < Test::Unit::TestCase
@@ -1,3 +1,7 @@
1
+ # Licensed to Elasticsearch B.V under one or more agreements.
2
+ # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
+ # See the LICENSE file in the project root for more information
4
+
1
5
  require 'test_helper'
2
6
 
3
7
  unless JRUBY
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticsearch-transport
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.3.0
4
+ version: 6.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karel Minarik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-08 00:00:00.000000000 Z
11
+ date: 2021-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -28,18 +28,18 @@ dependencies:
28
28
  name: faraday
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '1'
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
42
+ name: ansi
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,19 +53,19 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rake
56
+ name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '11.1'
61
+ version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '11.1'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: elasticsearch-extensions
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: ansi
84
+ name: mocha
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: shoulda-context
98
+ name: pry
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -109,7 +109,21 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: mocha
112
+ name: rake
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '13'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '13'
125
+ - !ruby/object:Gem::Dependency
126
+ name: shoulda-context
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - ">="
@@ -151,7 +165,7 @@ dependencies:
151
165
  - !ruby/object:Gem::Version
152
166
  version: '0'
153
167
  - !ruby/object:Gem::Dependency
154
- name: pry
168
+ name: cane
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - ">="
@@ -165,7 +179,7 @@ dependencies:
165
179
  - !ruby/object:Gem::Version
166
180
  version: '0'
167
181
  - !ruby/object:Gem::Dependency
168
- name: curb
182
+ name: hashie
169
183
  requirement: !ruby/object:Gem::Requirement
170
184
  requirements:
171
185
  - - ">="
@@ -179,7 +193,7 @@ dependencies:
179
193
  - !ruby/object:Gem::Version
180
194
  version: '0'
181
195
  - !ruby/object:Gem::Dependency
182
- name: patron
196
+ name: httpclient
183
197
  requirement: !ruby/object:Gem::Requirement
184
198
  requirements:
185
199
  - - ">="
@@ -193,19 +207,19 @@ dependencies:
193
207
  - !ruby/object:Gem::Version
194
208
  version: '0'
195
209
  - !ruby/object:Gem::Dependency
196
- name: typhoeus
210
+ name: minitest
197
211
  requirement: !ruby/object:Gem::Requirement
198
212
  requirements:
199
213
  - - "~>"
200
214
  - !ruby/object:Gem::Version
201
- version: '0.6'
215
+ version: '4.0'
202
216
  type: :development
203
217
  prerelease: false
204
218
  version_requirements: !ruby/object:Gem::Requirement
205
219
  requirements:
206
220
  - - "~>"
207
221
  - !ruby/object:Gem::Version
208
- version: '0.6'
222
+ version: '4.0'
209
223
  - !ruby/object:Gem::Dependency
210
224
  name: net-http-persistent
211
225
  requirement: !ruby/object:Gem::Requirement
@@ -221,7 +235,27 @@ dependencies:
221
235
  - !ruby/object:Gem::Version
222
236
  version: '0'
223
237
  - !ruby/object:Gem::Dependency
224
- name: hashie
238
+ name: simplecov
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: '0.17'
244
+ - - "<"
245
+ - !ruby/object:Gem::Version
246
+ version: '0.18'
247
+ type: :development
248
+ prerelease: false
249
+ version_requirements: !ruby/object:Gem::Requirement
250
+ requirements:
251
+ - - "~>"
252
+ - !ruby/object:Gem::Version
253
+ version: '0.17'
254
+ - - "<"
255
+ - !ruby/object:Gem::Version
256
+ version: '0.18'
257
+ - !ruby/object:Gem::Dependency
258
+ name: simplecov-rcov
225
259
  requirement: !ruby/object:Gem::Requirement
226
260
  requirements:
227
261
  - - ">="
@@ -235,35 +269,35 @@ dependencies:
235
269
  - !ruby/object:Gem::Version
236
270
  version: '0'
237
271
  - !ruby/object:Gem::Dependency
238
- name: minitest
272
+ name: test-unit
239
273
  requirement: !ruby/object:Gem::Requirement
240
274
  requirements:
241
275
  - - "~>"
242
276
  - !ruby/object:Gem::Version
243
- version: '4.0'
277
+ version: '2'
244
278
  type: :development
245
279
  prerelease: false
246
280
  version_requirements: !ruby/object:Gem::Requirement
247
281
  requirements:
248
282
  - - "~>"
249
283
  - !ruby/object:Gem::Version
250
- version: '4.0'
284
+ version: '2'
251
285
  - !ruby/object:Gem::Dependency
252
- name: ruby-prof
286
+ name: typhoeus
253
287
  requirement: !ruby/object:Gem::Requirement
254
288
  requirements:
255
- - - ">="
289
+ - - "~>"
256
290
  - !ruby/object:Gem::Version
257
- version: '0'
291
+ version: '1.4'
258
292
  type: :development
259
293
  prerelease: false
260
294
  version_requirements: !ruby/object:Gem::Requirement
261
295
  requirements:
262
- - - ">="
296
+ - - "~>"
263
297
  - !ruby/object:Gem::Version
264
- version: '0'
298
+ version: '1.4'
265
299
  - !ruby/object:Gem::Dependency
266
- name: require-prof
300
+ name: curb
267
301
  requirement: !ruby/object:Gem::Requirement
268
302
  requirements:
269
303
  - - ">="
@@ -277,7 +311,7 @@ dependencies:
277
311
  - !ruby/object:Gem::Version
278
312
  version: '0'
279
313
  - !ruby/object:Gem::Dependency
280
- name: simplecov
314
+ name: patron
281
315
  requirement: !ruby/object:Gem::Requirement
282
316
  requirements:
283
317
  - - ">="
@@ -291,7 +325,7 @@ dependencies:
291
325
  - !ruby/object:Gem::Version
292
326
  version: '0'
293
327
  - !ruby/object:Gem::Dependency
294
- name: simplecov-rcov
328
+ name: require-prof
295
329
  requirement: !ruby/object:Gem::Requirement
296
330
  requirements:
297
331
  - - ">="
@@ -305,7 +339,7 @@ dependencies:
305
339
  - !ruby/object:Gem::Version
306
340
  version: '0'
307
341
  - !ruby/object:Gem::Dependency
308
- name: cane
342
+ name: ruby-prof
309
343
  requirement: !ruby/object:Gem::Requirement
310
344
  requirements:
311
345
  - - ">="
@@ -318,20 +352,6 @@ dependencies:
318
352
  - - ">="
319
353
  - !ruby/object:Gem::Version
320
354
  version: '0'
321
- - !ruby/object:Gem::Dependency
322
- name: test-unit
323
- requirement: !ruby/object:Gem::Requirement
324
- requirements:
325
- - - "~>"
326
- - !ruby/object:Gem::Version
327
- version: '2'
328
- type: :development
329
- prerelease: false
330
- version_requirements: !ruby/object:Gem::Requirement
331
- requirements:
332
- - - "~>"
333
- - !ruby/object:Gem::Version
334
- version: '2'
335
355
  description: 'Ruby client for Elasticsearch. See the `elasticsearch` gem for full
336
356
  integration.
337
357
 
@@ -368,6 +388,8 @@ files:
368
388
  - lib/elasticsearch/transport/version.rb
369
389
  - spec/elasticsearch/transport/base_spec.rb
370
390
  - spec/elasticsearch/transport/client_spec.rb
391
+ - spec/elasticsearch/transport/meta_header_spec.rb
392
+ - spec/elasticsearch/transport/sniffer_spec.rb
371
393
  - spec/spec_helper.rb
372
394
  - test/integration/transport_test.rb
373
395
  - test/profile/client_benchmark_test.rb
@@ -377,15 +399,18 @@ files:
377
399
  - test/unit/connection_test.rb
378
400
  - test/unit/response_test.rb
379
401
  - test/unit/serializer_test.rb
380
- - test/unit/sniffer_test.rb
381
402
  - test/unit/transport_base_test.rb
382
403
  - test/unit/transport_curb_test.rb
383
404
  - test/unit/transport_faraday_test.rb
384
405
  - test/unit/transport_manticore_test.rb
385
- homepage: https://github.com/elasticsearch/elasticsearch-ruby/tree/master/elasticsearch-transport
406
+ homepage: https://www.elastic.co/guide/en/elasticsearch/client/ruby-api/current/index.html
386
407
  licenses:
387
408
  - Apache-2.0
388
- metadata: {}
409
+ metadata:
410
+ homepage_uri: https://www.elastic.co/guide/en/elasticsearch/client/ruby-api/current/index.html
411
+ changelog_uri: https://github.com/elastic/elasticsearch-ruby/blob/6.x/CHANGELOG.md
412
+ source_code_uri: https://github.com/elastic/elasticsearch-ruby/tree/6.x/elasticsearch-transport
413
+ bug_tracker_uri: https://github.com/elastic/elasticsearch-ruby/issues
389
414
  post_install_message:
390
415
  rdoc_options:
391
416
  - "--charset=UTF-8"
@@ -395,20 +420,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
395
420
  requirements:
396
421
  - - ">="
397
422
  - !ruby/object:Gem::Version
398
- version: '1.9'
423
+ version: '2.4'
399
424
  required_rubygems_version: !ruby/object:Gem::Requirement
400
425
  requirements:
401
426
  - - ">="
402
427
  - !ruby/object:Gem::Version
403
428
  version: '0'
404
429
  requirements: []
405
- rubygems_version: 3.0.3
430
+ rubygems_version: 3.1.4
406
431
  signing_key:
407
432
  specification_version: 4
408
433
  summary: Ruby client for Elasticsearch.
409
434
  test_files:
410
435
  - spec/elasticsearch/transport/base_spec.rb
411
436
  - spec/elasticsearch/transport/client_spec.rb
437
+ - spec/elasticsearch/transport/meta_header_spec.rb
438
+ - spec/elasticsearch/transport/sniffer_spec.rb
412
439
  - spec/spec_helper.rb
413
440
  - test/integration/transport_test.rb
414
441
  - test/profile/client_benchmark_test.rb
@@ -418,7 +445,6 @@ test_files:
418
445
  - test/unit/connection_test.rb
419
446
  - test/unit/response_test.rb
420
447
  - test/unit/serializer_test.rb
421
- - test/unit/sniffer_test.rb
422
448
  - test/unit/transport_base_test.rb
423
449
  - test/unit/transport_curb_test.rb
424
450
  - test/unit/transport_faraday_test.rb