elasticsearch-transport 6.8.1 → 6.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +86 -32
  3. data/elasticsearch-transport.gemspec +44 -64
  4. data/lib/elasticsearch-transport.rb +4 -0
  5. data/lib/elasticsearch/transport.rb +4 -0
  6. data/lib/elasticsearch/transport/client.rb +51 -11
  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 +184 -0
  21. data/spec/elasticsearch/transport/client_spec.rb +117 -21
  22. data/spec/elasticsearch/transport/sniffer_spec.rb +269 -0
  23. data/spec/spec_helper.rb +4 -0
  24. data/test/integration/transport_test.rb +4 -0
  25. data/test/profile/client_benchmark_test.rb +4 -0
  26. data/test/test_helper.rb +4 -0
  27. data/test/unit/connection_collection_test.rb +4 -0
  28. data/test/unit/connection_selector_test.rb +4 -0
  29. data/test/unit/connection_test.rb +4 -0
  30. data/test/unit/response_test.rb +5 -1
  31. data/test/unit/serializer_test.rb +4 -0
  32. data/test/unit/transport_base_test.rb +4 -0
  33. data/test/unit/transport_curb_test.rb +4 -0
  34. data/test/unit/transport_faraday_test.rb +4 -0
  35. data/test/unit/transport_manticore_test.rb +4 -0
  36. metadata +68 -64
  37. 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,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 'elasticsearch'
2
6
  require 'elasticsearch-transport'
3
7
  require 'logger'
@@ -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.8.1
4
+ version: 6.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karel Minarik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-21 00:00:00.000000000 Z
11
+ date: 2020-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -28,24 +28,18 @@ dependencies:
28
28
  name: faraday
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0.14'
34
- - - "<"
31
+ - - "~>"
35
32
  - !ruby/object:Gem::Version
36
33
  version: '1'
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: '0.14'
44
- - - "<"
38
+ - - "~>"
45
39
  - !ruby/object:Gem::Version
46
40
  version: '1'
47
41
  - !ruby/object:Gem::Dependency
48
- name: bundler
42
+ name: ansi
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
45
  - - ">="
@@ -59,19 +53,19 @@ dependencies:
59
53
  - !ruby/object:Gem::Version
60
54
  version: '0'
61
55
  - !ruby/object:Gem::Dependency
62
- name: rake
56
+ name: bundler
63
57
  requirement: !ruby/object:Gem::Requirement
64
58
  requirements:
65
- - - "~>"
59
+ - - ">="
66
60
  - !ruby/object:Gem::Version
67
- version: '11.1'
61
+ version: '0'
68
62
  type: :development
69
63
  prerelease: false
70
64
  version_requirements: !ruby/object:Gem::Requirement
71
65
  requirements:
72
- - - "~>"
66
+ - - ">="
73
67
  - !ruby/object:Gem::Version
74
- version: '11.1'
68
+ version: '0'
75
69
  - !ruby/object:Gem::Dependency
76
70
  name: elasticsearch-extensions
77
71
  requirement: !ruby/object:Gem::Requirement
@@ -87,7 +81,7 @@ dependencies:
87
81
  - !ruby/object:Gem::Version
88
82
  version: '0'
89
83
  - !ruby/object:Gem::Dependency
90
- name: ansi
84
+ name: mocha
91
85
  requirement: !ruby/object:Gem::Requirement
92
86
  requirements:
93
87
  - - ">="
@@ -101,7 +95,7 @@ dependencies:
101
95
  - !ruby/object:Gem::Version
102
96
  version: '0'
103
97
  - !ruby/object:Gem::Dependency
104
- name: shoulda-context
98
+ name: pry
105
99
  requirement: !ruby/object:Gem::Requirement
106
100
  requirements:
107
101
  - - ">="
@@ -115,21 +109,21 @@ dependencies:
115
109
  - !ruby/object:Gem::Version
116
110
  version: '0'
117
111
  - !ruby/object:Gem::Dependency
118
- name: mocha
112
+ name: rake
119
113
  requirement: !ruby/object:Gem::Requirement
120
114
  requirements:
121
- - - ">="
115
+ - - "~>"
122
116
  - !ruby/object:Gem::Version
123
- version: '0'
117
+ version: '13'
124
118
  type: :development
125
119
  prerelease: false
126
120
  version_requirements: !ruby/object:Gem::Requirement
127
121
  requirements:
128
- - - ">="
122
+ - - "~>"
129
123
  - !ruby/object:Gem::Version
130
- version: '0'
124
+ version: '13'
131
125
  - !ruby/object:Gem::Dependency
132
- name: turn
126
+ name: shoulda-context
133
127
  requirement: !ruby/object:Gem::Requirement
134
128
  requirements:
135
129
  - - ">="
@@ -143,7 +137,7 @@ dependencies:
143
137
  - !ruby/object:Gem::Version
144
138
  version: '0'
145
139
  - !ruby/object:Gem::Dependency
146
- name: yard
140
+ name: turn
147
141
  requirement: !ruby/object:Gem::Requirement
148
142
  requirements:
149
143
  - - ">="
@@ -157,7 +151,7 @@ dependencies:
157
151
  - !ruby/object:Gem::Version
158
152
  version: '0'
159
153
  - !ruby/object:Gem::Dependency
160
- name: pry
154
+ name: yard
161
155
  requirement: !ruby/object:Gem::Requirement
162
156
  requirements:
163
157
  - - ">="
@@ -171,7 +165,7 @@ dependencies:
171
165
  - !ruby/object:Gem::Version
172
166
  version: '0'
173
167
  - !ruby/object:Gem::Dependency
174
- name: curb
168
+ name: cane
175
169
  requirement: !ruby/object:Gem::Requirement
176
170
  requirements:
177
171
  - - ">="
@@ -185,7 +179,7 @@ dependencies:
185
179
  - !ruby/object:Gem::Version
186
180
  version: '0'
187
181
  - !ruby/object:Gem::Dependency
188
- name: patron
182
+ name: hashie
189
183
  requirement: !ruby/object:Gem::Requirement
190
184
  requirements:
191
185
  - - ">="
@@ -199,19 +193,19 @@ dependencies:
199
193
  - !ruby/object:Gem::Version
200
194
  version: '0'
201
195
  - !ruby/object:Gem::Dependency
202
- name: typhoeus
196
+ name: minitest
203
197
  requirement: !ruby/object:Gem::Requirement
204
198
  requirements:
205
199
  - - "~>"
206
200
  - !ruby/object:Gem::Version
207
- version: '0.6'
201
+ version: '4.0'
208
202
  type: :development
209
203
  prerelease: false
210
204
  version_requirements: !ruby/object:Gem::Requirement
211
205
  requirements:
212
206
  - - "~>"
213
207
  - !ruby/object:Gem::Version
214
- version: '0.6'
208
+ version: '4.0'
215
209
  - !ruby/object:Gem::Dependency
216
210
  name: net-http-persistent
217
211
  requirement: !ruby/object:Gem::Requirement
@@ -227,7 +221,27 @@ dependencies:
227
221
  - !ruby/object:Gem::Version
228
222
  version: '0'
229
223
  - !ruby/object:Gem::Dependency
230
- name: hashie
224
+ name: simplecov
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '0.17'
230
+ - - "<"
231
+ - !ruby/object:Gem::Version
232
+ version: '0.18'
233
+ type: :development
234
+ prerelease: false
235
+ version_requirements: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - "~>"
238
+ - !ruby/object:Gem::Version
239
+ version: '0.17'
240
+ - - "<"
241
+ - !ruby/object:Gem::Version
242
+ version: '0.18'
243
+ - !ruby/object:Gem::Dependency
244
+ name: simplecov-rcov
231
245
  requirement: !ruby/object:Gem::Requirement
232
246
  requirements:
233
247
  - - ">="
@@ -241,35 +255,35 @@ dependencies:
241
255
  - !ruby/object:Gem::Version
242
256
  version: '0'
243
257
  - !ruby/object:Gem::Dependency
244
- name: minitest
258
+ name: test-unit
245
259
  requirement: !ruby/object:Gem::Requirement
246
260
  requirements:
247
261
  - - "~>"
248
262
  - !ruby/object:Gem::Version
249
- version: '4.0'
263
+ version: '2'
250
264
  type: :development
251
265
  prerelease: false
252
266
  version_requirements: !ruby/object:Gem::Requirement
253
267
  requirements:
254
268
  - - "~>"
255
269
  - !ruby/object:Gem::Version
256
- version: '4.0'
270
+ version: '2'
257
271
  - !ruby/object:Gem::Dependency
258
- name: ruby-prof
272
+ name: typhoeus
259
273
  requirement: !ruby/object:Gem::Requirement
260
274
  requirements:
261
- - - ">="
275
+ - - "~>"
262
276
  - !ruby/object:Gem::Version
263
- version: '0'
277
+ version: '0.6'
264
278
  type: :development
265
279
  prerelease: false
266
280
  version_requirements: !ruby/object:Gem::Requirement
267
281
  requirements:
268
- - - ">="
282
+ - - "~>"
269
283
  - !ruby/object:Gem::Version
270
- version: '0'
284
+ version: '0.6'
271
285
  - !ruby/object:Gem::Dependency
272
- name: require-prof
286
+ name: curb
273
287
  requirement: !ruby/object:Gem::Requirement
274
288
  requirements:
275
289
  - - ">="
@@ -283,7 +297,7 @@ dependencies:
283
297
  - !ruby/object:Gem::Version
284
298
  version: '0'
285
299
  - !ruby/object:Gem::Dependency
286
- name: simplecov
300
+ name: patron
287
301
  requirement: !ruby/object:Gem::Requirement
288
302
  requirements:
289
303
  - - ">="
@@ -297,7 +311,7 @@ dependencies:
297
311
  - !ruby/object:Gem::Version
298
312
  version: '0'
299
313
  - !ruby/object:Gem::Dependency
300
- name: simplecov-rcov
314
+ name: require-prof
301
315
  requirement: !ruby/object:Gem::Requirement
302
316
  requirements:
303
317
  - - ">="
@@ -311,7 +325,7 @@ dependencies:
311
325
  - !ruby/object:Gem::Version
312
326
  version: '0'
313
327
  - !ruby/object:Gem::Dependency
314
- name: cane
328
+ name: ruby-prof
315
329
  requirement: !ruby/object:Gem::Requirement
316
330
  requirements:
317
331
  - - ">="
@@ -324,20 +338,6 @@ dependencies:
324
338
  - - ">="
325
339
  - !ruby/object:Gem::Version
326
340
  version: '0'
327
- - !ruby/object:Gem::Dependency
328
- name: test-unit
329
- requirement: !ruby/object:Gem::Requirement
330
- requirements:
331
- - - "~>"
332
- - !ruby/object:Gem::Version
333
- version: '2'
334
- type: :development
335
- prerelease: false
336
- version_requirements: !ruby/object:Gem::Requirement
337
- requirements:
338
- - - "~>"
339
- - !ruby/object:Gem::Version
340
- version: '2'
341
341
  description: 'Ruby client for Elasticsearch. See the `elasticsearch` gem for full
342
342
  integration.
343
343
 
@@ -374,6 +374,7 @@ files:
374
374
  - lib/elasticsearch/transport/version.rb
375
375
  - spec/elasticsearch/transport/base_spec.rb
376
376
  - spec/elasticsearch/transport/client_spec.rb
377
+ - spec/elasticsearch/transport/sniffer_spec.rb
377
378
  - spec/spec_helper.rb
378
379
  - test/integration/transport_test.rb
379
380
  - test/profile/client_benchmark_test.rb
@@ -383,15 +384,18 @@ files:
383
384
  - test/unit/connection_test.rb
384
385
  - test/unit/response_test.rb
385
386
  - test/unit/serializer_test.rb
386
- - test/unit/sniffer_test.rb
387
387
  - test/unit/transport_base_test.rb
388
388
  - test/unit/transport_curb_test.rb
389
389
  - test/unit/transport_faraday_test.rb
390
390
  - test/unit/transport_manticore_test.rb
391
- homepage: https://github.com/elasticsearch/elasticsearch-ruby/tree/master/elasticsearch-transport
391
+ homepage: https://www.elastic.co/guide/en/elasticsearch/client/ruby-api/current/index.html
392
392
  licenses:
393
393
  - Apache-2.0
394
- metadata: {}
394
+ metadata:
395
+ homepage_uri: https://www.elastic.co/guide/en/elasticsearch/client/ruby-api/current/index.html
396
+ changelog_uri: https://github.com/elastic/elasticsearch-ruby/blob/6.x/CHANGELOG.md
397
+ source_code_uri: https://github.com/elastic/elasticsearch-ruby/tree/6.x/elasticsearch-transport
398
+ bug_tracker_uri: https://github.com/elastic/elasticsearch-ruby/issues
395
399
  post_install_message:
396
400
  rdoc_options:
397
401
  - "--charset=UTF-8"
@@ -401,20 +405,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
401
405
  requirements:
402
406
  - - ">="
403
407
  - !ruby/object:Gem::Version
404
- version: '1.9'
408
+ version: '2.4'
405
409
  required_rubygems_version: !ruby/object:Gem::Requirement
406
410
  requirements:
407
411
  - - ">="
408
412
  - !ruby/object:Gem::Version
409
413
  version: '0'
410
414
  requirements: []
411
- rubygems_version: 3.0.6
415
+ rubygems_version: 3.1.2
412
416
  signing_key:
413
417
  specification_version: 4
414
418
  summary: Ruby client for Elasticsearch.
415
419
  test_files:
416
420
  - spec/elasticsearch/transport/base_spec.rb
417
421
  - spec/elasticsearch/transport/client_spec.rb
422
+ - spec/elasticsearch/transport/sniffer_spec.rb
418
423
  - spec/spec_helper.rb
419
424
  - test/integration/transport_test.rb
420
425
  - test/profile/client_benchmark_test.rb
@@ -424,7 +429,6 @@ test_files:
424
429
  - test/unit/connection_test.rb
425
430
  - test/unit/response_test.rb
426
431
  - test/unit/serializer_test.rb
427
- - test/unit/sniffer_test.rb
428
432
  - test/unit/transport_base_test.rb
429
433
  - test/unit/transport_curb_test.rb
430
434
  - test/unit/transport_faraday_test.rb