elasticsearch-transport 6.8.1 → 6.8.2

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 (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