elasticsearch-transport 7.9.0 → 7.10.0.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/{LICENSE → LICENSE.txt} +0 -0
- data/README.md +7 -2
- data/elasticsearch-transport.gemspec +1 -1
- data/lib/elasticsearch/transport/client.rb +7 -2
- data/lib/elasticsearch/transport/transport/connections/connection.rb +4 -3
- data/lib/elasticsearch/transport/version.rb +1 -1
- data/spec/elasticsearch/transport/base_spec.rb +44 -28
- data/spec/elasticsearch/transport/client_spec.rb +49 -5
- data/test/unit/connection_test.rb +5 -0
- data/test/unit/transport_manticore_test.rb +11 -11
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64ed0d4e52c93d1bfaabaef470e71308ac9961da744584f770283f605131e3ac
|
4
|
+
data.tar.gz: 40b0baa58407ef49ac9fac314fbd9f84df3c8408d7312132ebe8f19cb1f5e35c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 24eefe245bb7fc61431b6798d0898bbadc4c0fafbefa6303b61336e4673df8e37f6ae71e0dc107ea0c446821a0d8138ebad16380a13b8dcb2ce5ee3c762acd8f
|
7
|
+
data.tar.gz: 8b790e93528ae4c3db68a7f63272f2cf0eefc3e9a8b66d2e2d1b8b8bd6dea67cdb180789e2df824cdc50eb90c8ef669fb7968f370c13d34d27dc2f3329ca5e53
|
data/{LICENSE → LICENSE.txt}
RENAMED
File without changes
|
data/README.md
CHANGED
@@ -293,11 +293,16 @@ on a different host:
|
|
293
293
|
|
294
294
|
Elasticsearch::Client.new hosts: ['localhost:9200', 'localhost:9201'], retry_on_failure: true
|
295
295
|
|
296
|
-
You can specify how many times
|
297
|
-
(the default is 3 times):
|
296
|
+
By default, the client will retry the request 3 times. You can specify how many times to retry before it raises an exception by passing a number to `retry_on_failure`:
|
298
297
|
|
299
298
|
Elasticsearch::Client.new hosts: ['localhost:9200', 'localhost:9201'], retry_on_failure: 5
|
300
299
|
|
300
|
+
These two parameters can also be used together:
|
301
|
+
|
302
|
+
```ruby
|
303
|
+
Elasticsearch::Client.new hosts: ['localhost:9200', 'localhost:9201'], retry_on_status: [502, 503], retry_on_failure: 10
|
304
|
+
```
|
305
|
+
|
301
306
|
### Reloading Hosts
|
302
307
|
|
303
308
|
Elasticsearch by default dynamically discovers new nodes in the cluster. You can leverage this
|
@@ -39,7 +39,7 @@ Gem::Specification.new do |s|
|
|
39
39
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
40
40
|
s.require_paths = ['lib']
|
41
41
|
|
42
|
-
s.extra_rdoc_files = [ 'README.md', 'LICENSE' ]
|
42
|
+
s.extra_rdoc_files = [ 'README.md', 'LICENSE.txt' ]
|
43
43
|
s.rdoc_options = [ '--charset=UTF-8' ]
|
44
44
|
|
45
45
|
s.required_ruby_version = '>= 2.4'
|
@@ -191,13 +191,18 @@ module Elasticsearch
|
|
191
191
|
|
192
192
|
def extract_cloud_creds(arguments)
|
193
193
|
return unless arguments[:cloud_id]
|
194
|
+
|
194
195
|
name = arguments[:cloud_id].split(':')[0]
|
195
196
|
cloud_url, elasticsearch_instance = Base64.decode64(arguments[:cloud_id].gsub("#{name}:", '')).split('$')
|
196
|
-
[
|
197
|
+
[
|
198
|
+
{
|
199
|
+
scheme: 'https',
|
197
200
|
user: arguments[:user],
|
198
201
|
password: arguments[:password],
|
199
202
|
host: "#{elasticsearch_instance}.#{cloud_url}",
|
200
|
-
port: arguments[:port] || DEFAULT_CLOUD_PORT
|
203
|
+
port: arguments[:port] || DEFAULT_CLOUD_PORT
|
204
|
+
}
|
205
|
+
]
|
201
206
|
end
|
202
207
|
|
203
208
|
# Normalizes and returns hosts configuration.
|
@@ -19,7 +19,6 @@ module Elasticsearch
|
|
19
19
|
module Transport
|
20
20
|
module Transport
|
21
21
|
module Connections
|
22
|
-
|
23
22
|
# Wraps the connection information and logic.
|
24
23
|
#
|
25
24
|
# The Connection instance wraps the host information (hostname, port, attributes, etc),
|
@@ -54,12 +53,14 @@ module Elasticsearch
|
|
54
53
|
#
|
55
54
|
# @return [String]
|
56
55
|
#
|
57
|
-
def full_url(path, params={})
|
56
|
+
def full_url(path, params = {})
|
58
57
|
url = "#{host[:protocol]}://"
|
59
58
|
url += "#{CGI.escape(host[:user])}:#{CGI.escape(host[:password])}@" if host[:user]
|
60
59
|
url += "#{host[:host]}:#{host[:port]}"
|
61
60
|
url += "#{host[:path]}" if host[:path]
|
62
|
-
|
61
|
+
full_path = full_path(path, params)
|
62
|
+
url += '/' unless full_path.match?(/^\//)
|
63
|
+
url += full_path
|
63
64
|
end
|
64
65
|
|
65
66
|
# Returns the complete endpoint path with serialized parameters.
|
@@ -46,10 +46,12 @@ describe Elasticsearch::Transport::Transport::Base do
|
|
46
46
|
|
47
47
|
context 'when the user and password are provided as separate arguments' do
|
48
48
|
let(:arguments) do
|
49
|
-
{
|
49
|
+
{
|
50
|
+
hosts: 'fake',
|
50
51
|
logger: logger,
|
51
52
|
password: 'secret_password',
|
52
|
-
user: 'test'
|
53
|
+
user: 'test'
|
54
|
+
}
|
53
55
|
end
|
54
56
|
|
55
57
|
it_behaves_like 'a redacted string'
|
@@ -57,8 +59,10 @@ describe Elasticsearch::Transport::Transport::Base do
|
|
57
59
|
|
58
60
|
context 'when the user and password are provided in the string URI' do
|
59
61
|
let(:arguments) do
|
60
|
-
{
|
61
|
-
|
62
|
+
{
|
63
|
+
hosts: 'https://test:secret_password@fake_local_elasticsearch',
|
64
|
+
logger: logger
|
65
|
+
}
|
62
66
|
end
|
63
67
|
|
64
68
|
it_behaves_like 'a redacted string'
|
@@ -66,8 +70,10 @@ describe Elasticsearch::Transport::Transport::Base do
|
|
66
70
|
|
67
71
|
context 'when the user and password are provided in the URI object' do
|
68
72
|
let(:arguments) do
|
69
|
-
{
|
70
|
-
|
73
|
+
{
|
74
|
+
hosts: URI.parse('https://test:secret_password@fake_local_elasticsearch'),
|
75
|
+
logger: logger
|
76
|
+
}
|
71
77
|
end
|
72
78
|
|
73
79
|
it_behaves_like 'a redacted string'
|
@@ -75,36 +81,32 @@ describe Elasticsearch::Transport::Transport::Base do
|
|
75
81
|
end
|
76
82
|
|
77
83
|
context 'when reload_on_failure is true and and hosts are unreachable' do
|
78
|
-
|
79
84
|
let(:client) do
|
80
85
|
Elasticsearch::Transport::Client.new(arguments)
|
81
86
|
end
|
82
87
|
|
83
88
|
let(:arguments) do
|
84
89
|
{
|
85
|
-
|
86
|
-
|
87
|
-
|
90
|
+
hosts: ['http://unavailable:9200', 'http://unavailable:9201'],
|
91
|
+
reload_on_failure: true,
|
92
|
+
sniffer_timeout: 5
|
88
93
|
}
|
89
94
|
end
|
90
95
|
|
91
96
|
it 'raises an exception' do
|
92
|
-
expect {
|
93
|
-
client.info
|
94
|
-
}.to raise_exception(Faraday::ConnectionFailed)
|
97
|
+
expect { client.info }.to raise_exception(Faraday::ConnectionFailed)
|
95
98
|
end
|
96
99
|
end
|
97
100
|
|
98
101
|
context 'when the client has `retry_on_failure` set to an integer' do
|
99
|
-
|
100
102
|
let(:client) do
|
101
103
|
Elasticsearch::Transport::Client.new(arguments)
|
102
104
|
end
|
103
105
|
|
104
106
|
let(:arguments) do
|
105
107
|
{
|
106
|
-
|
107
|
-
|
108
|
+
hosts: ['http://unavailable:9200', 'http://unavailable:9201'],
|
109
|
+
retry_on_failure: 2
|
108
110
|
}
|
109
111
|
end
|
110
112
|
|
@@ -120,15 +122,34 @@ describe Elasticsearch::Transport::Transport::Base do
|
|
120
122
|
end
|
121
123
|
end
|
122
124
|
|
125
|
+
context 'when `perform_request` is called with a `retry_on_status` option value' do
|
126
|
+
before do
|
127
|
+
expect(client.transport).to receive(:__raise_transport_error).exactly(6).times.and_call_original
|
128
|
+
end
|
129
|
+
|
130
|
+
let(:arguments) do
|
131
|
+
{
|
132
|
+
hosts: ['http://localhost:9250'],
|
133
|
+
retry_on_status: ['404']
|
134
|
+
}
|
135
|
+
end
|
136
|
+
|
137
|
+
it 'retries on 404 status the specified number of max_retries' do
|
138
|
+
expect do
|
139
|
+
client.transport.perform_request('GET', 'myindex/mydoc/1?routing=FOOBARBAZ', {}, nil, nil, retry_on_failure: 5)
|
140
|
+
end.to raise_exception(Elasticsearch::Transport::Transport::Errors::NotFound)
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
123
144
|
context 'when `perform_request` is called with a `retry_on_failure` option value' do
|
124
145
|
before do
|
125
146
|
expect(client.transport).to receive(:get_connection).exactly(6).times.and_call_original
|
126
147
|
end
|
127
148
|
|
128
149
|
it 'uses the option `retry_on_failure` value' do
|
129
|
-
expect
|
150
|
+
expect do
|
130
151
|
client.transport.perform_request('GET', '/info', {}, nil, nil, retry_on_failure: 5)
|
131
|
-
|
152
|
+
end.to raise_exception(Faraday::ConnectionFailed)
|
132
153
|
end
|
133
154
|
end
|
134
155
|
end
|
@@ -209,40 +230,35 @@ describe Elasticsearch::Transport::Transport::Base do
|
|
209
230
|
end
|
210
231
|
|
211
232
|
context 'when the client has no `retry_on_failure` set' do
|
212
|
-
|
213
233
|
let(:client) do
|
214
234
|
Elasticsearch::Transport::Client.new(arguments)
|
215
235
|
end
|
216
236
|
|
217
237
|
let(:arguments) do
|
218
|
-
{
|
219
|
-
hosts: ['http://unavailable:9200', 'http://unavailable:9201'],
|
220
|
-
}
|
238
|
+
{ hosts: ['http://unavailable:9200', 'http://unavailable:9201'] }
|
221
239
|
end
|
222
240
|
|
223
241
|
context 'when `perform_request` is called without a `retry_on_failure` option value' do
|
224
|
-
|
225
242
|
before do
|
226
243
|
expect(client.transport).to receive(:get_connection).exactly(1).times.and_call_original
|
227
244
|
end
|
228
245
|
|
229
246
|
it 'does not retry' do
|
230
|
-
expect
|
247
|
+
expect do
|
231
248
|
client.transport.perform_request('GET', '/info')
|
232
|
-
|
249
|
+
end.to raise_exception(Faraday::ConnectionFailed)
|
233
250
|
end
|
234
251
|
end
|
235
252
|
|
236
253
|
context 'when `perform_request` is called with a `retry_on_failure` option value' do
|
237
|
-
|
238
254
|
before do
|
239
255
|
expect(client.transport).to receive(:get_connection).exactly(6).times.and_call_original
|
240
256
|
end
|
241
257
|
|
242
258
|
it 'uses the option `retry_on_failure` value' do
|
243
|
-
expect
|
259
|
+
expect do
|
244
260
|
client.transport.perform_request('GET', '/info', {}, nil, nil, retry_on_failure: 5)
|
245
|
-
|
261
|
+
end.to raise_exception(Faraday::ConnectionFailed)
|
246
262
|
end
|
247
263
|
end
|
248
264
|
end
|
@@ -328,7 +328,11 @@ describe Elasticsearch::Transport::Client do
|
|
328
328
|
context 'when cloud credentials are provided' do
|
329
329
|
|
330
330
|
let(:client) do
|
331
|
-
described_class.new(
|
331
|
+
described_class.new(
|
332
|
+
cloud_id: 'name:bG9jYWxob3N0JGFiY2QkZWZnaA==',
|
333
|
+
user: 'elastic',
|
334
|
+
password: 'changeme'
|
335
|
+
)
|
332
336
|
end
|
333
337
|
|
334
338
|
let(:hosts) do
|
@@ -344,13 +348,20 @@ describe Elasticsearch::Transport::Client do
|
|
344
348
|
end
|
345
349
|
|
346
350
|
it 'creates the correct full url' do
|
347
|
-
expect(
|
351
|
+
expect(
|
352
|
+
client.transport.__full_url(client.transport.hosts[0])
|
353
|
+
).to eq('https://elastic:changeme@abcd.localhost:9243')
|
348
354
|
end
|
349
355
|
|
350
356
|
context 'when a port is specified' do
|
351
357
|
|
352
358
|
let(:client) do
|
353
|
-
described_class.new(
|
359
|
+
described_class.new(
|
360
|
+
cloud_id: 'name:bG9jYWxob3N0JGFiY2QkZWZnaA==',
|
361
|
+
user: 'elastic',
|
362
|
+
password: 'changeme',
|
363
|
+
port: 9200
|
364
|
+
)
|
354
365
|
end
|
355
366
|
|
356
367
|
it 'sets the specified port along with the cloud credentials' do
|
@@ -369,7 +380,11 @@ describe Elasticsearch::Transport::Client do
|
|
369
380
|
context 'when the cluster has alternate names' do
|
370
381
|
|
371
382
|
let(:client) do
|
372
|
-
described_class.new(
|
383
|
+
described_class.new(
|
384
|
+
cloud_id: 'myCluster:bG9jYWxob3N0JGFiY2QkZWZnaA==',
|
385
|
+
user: 'elasticfantastic',
|
386
|
+
password: 'tobechanged'
|
387
|
+
)
|
373
388
|
end
|
374
389
|
|
375
390
|
let(:hosts) do
|
@@ -385,9 +400,38 @@ describe Elasticsearch::Transport::Client do
|
|
385
400
|
end
|
386
401
|
|
387
402
|
it 'creates the correct full url' do
|
388
|
-
expect(
|
403
|
+
expect(
|
404
|
+
client.transport.__full_url(client.transport.hosts[0])
|
405
|
+
).to eq('https://elasticfantastic:tobechanged@abcd.localhost:9243')
|
406
|
+
end
|
407
|
+
end
|
408
|
+
|
409
|
+
context 'when decoded cloud id has a trailing dollar sign' do
|
410
|
+
let(:client) do
|
411
|
+
described_class.new(
|
412
|
+
cloud_id: 'a_cluster:bG9jYWxob3N0JGFiY2Qk',
|
413
|
+
user: 'elasticfantastic',
|
414
|
+
password: 'changeme'
|
415
|
+
)
|
416
|
+
end
|
417
|
+
|
418
|
+
let(:hosts) do
|
419
|
+
client.transport.hosts
|
389
420
|
end
|
390
421
|
|
422
|
+
it 'extracts the cloud credentials' do
|
423
|
+
expect(hosts[0][:host]).to eq('abcd.localhost')
|
424
|
+
expect(hosts[0][:protocol]).to eq('https')
|
425
|
+
expect(hosts[0][:user]).to eq('elasticfantastic')
|
426
|
+
expect(hosts[0][:password]).to eq('changeme')
|
427
|
+
expect(hosts[0][:port]).to eq(9243)
|
428
|
+
end
|
429
|
+
|
430
|
+
it 'creates the correct full url' do
|
431
|
+
expect(
|
432
|
+
client.transport.__full_url(client.transport.hosts[0])
|
433
|
+
).to eq('https://elasticfantastic:changeme@abcd.localhost:9243')
|
434
|
+
end
|
391
435
|
end
|
392
436
|
end
|
393
437
|
|
@@ -57,6 +57,11 @@ class Elasticsearch::Transport::Transport::Connections::ConnectionTest < Minites
|
|
57
57
|
assert_equal 'http://localhost:9200/foo/_search?foo=bar', c.full_url('_search', {:foo => 'bar'})
|
58
58
|
end
|
59
59
|
|
60
|
+
should "return right full url with path when path starts with /" do
|
61
|
+
c = Connection.new :host => { :protocol => 'http', :host => 'localhost', :port => '9200', :path => '/foo' }
|
62
|
+
assert_equal 'http://localhost:9200/foo/_search?foo=bar', c.full_url('/_search', {:foo => 'bar'})
|
63
|
+
end
|
64
|
+
|
60
65
|
should "have a string representation" do
|
61
66
|
c = Connection.new :host => 'x'
|
62
67
|
assert_match /host: x/, c.to_s
|
@@ -56,7 +56,7 @@ else
|
|
56
56
|
|
57
57
|
should "set body for GET request" do
|
58
58
|
@transport.connections.first.connection.expects(:get).
|
59
|
-
with('http://127.0.0.1:8080
|
59
|
+
with('http://127.0.0.1:8080/', {:body => '{"foo":"bar"}',
|
60
60
|
:headers => {"Content-Type" => "application/json",
|
61
61
|
"User-Agent" => @transport.send(:user_agent_header)}}).returns(stub_everything)
|
62
62
|
@transport.perform_request 'GET', '/', {}, '{"foo":"bar"}'
|
@@ -64,7 +64,7 @@ else
|
|
64
64
|
|
65
65
|
should "set body for PUT request" do
|
66
66
|
@transport.connections.first.connection.expects(:put).
|
67
|
-
with('http://127.0.0.1:8080
|
67
|
+
with('http://127.0.0.1:8080/', {:body => '{"foo":"bar"}',
|
68
68
|
:headers => {"Content-Type" => "application/json",
|
69
69
|
"User-Agent" => @transport.send(:user_agent_header)}}).returns(stub_everything)
|
70
70
|
@transport.perform_request 'PUT', '/', {}, {:foo => 'bar'}
|
@@ -72,7 +72,7 @@ else
|
|
72
72
|
|
73
73
|
should "serialize the request body" do
|
74
74
|
@transport.connections.first.connection.expects(:post).
|
75
|
-
with('http://127.0.0.1:8080
|
75
|
+
with('http://127.0.0.1:8080/', {:body => '{"foo":"bar"}',
|
76
76
|
:headers => {"Content-Type" => "application/json",
|
77
77
|
"User-Agent" => @transport.send(:user_agent_header)}}).returns(stub_everything)
|
78
78
|
@transport.perform_request 'POST', '/', {}, {'foo' => 'bar'}
|
@@ -80,7 +80,7 @@ else
|
|
80
80
|
|
81
81
|
should "set custom headers for PUT request" do
|
82
82
|
@transport.connections.first.connection.expects(:put).
|
83
|
-
with('http://127.0.0.1:8080
|
83
|
+
with('http://127.0.0.1:8080/', {:body => '{"foo":"bar"}',
|
84
84
|
:headers => {"Content-Type" => "application/json",
|
85
85
|
"User-Agent" => @transport.send(:user_agent_header)}})
|
86
86
|
.returns(stub_everything)
|
@@ -89,7 +89,7 @@ else
|
|
89
89
|
|
90
90
|
should "not serialize a String request body" do
|
91
91
|
@transport.connections.first.connection.expects(:post).
|
92
|
-
with('http://127.0.0.1:8080
|
92
|
+
with('http://127.0.0.1:8080/', {:body => '{"foo":"bar"}',
|
93
93
|
:headers => {"Content-Type" => "application/json",
|
94
94
|
"User-Agent" => @transport.send(:user_agent_header)}}).returns(stub_everything)
|
95
95
|
@transport.serializer.expects(:dump).never
|
@@ -103,7 +103,7 @@ else
|
|
103
103
|
|
104
104
|
transport = Manticore.new :hosts => [ { :host => 'localhost', :port => 8080 } ], :options => options
|
105
105
|
|
106
|
-
transport.connections.first.connection.stub("http://localhost:8080
|
106
|
+
transport.connections.first.connection.stub("http://localhost:8080/", :body => "\"\"", :headers => {"Content-Type" => "application/x-ndjson",
|
107
107
|
"User-Agent" => @transport.send(:user_agent_header)}, :code => 200 )
|
108
108
|
|
109
109
|
response = transport.perform_request 'GET', '/', {}
|
@@ -124,15 +124,15 @@ else
|
|
124
124
|
end
|
125
125
|
|
126
126
|
should "handle HTTP methods" do
|
127
|
-
@transport.connections.first.connection.expects(:delete).with('http://127.0.0.1:8080
|
127
|
+
@transport.connections.first.connection.expects(:delete).with('http://127.0.0.1:8080/', { headers: {"Content-Type" => "application/json",
|
128
128
|
"User-Agent" => @transport.send(:user_agent_header)}}).returns(stub_everything)
|
129
|
-
@transport.connections.first.connection.expects(:head).with('http://127.0.0.1:8080
|
129
|
+
@transport.connections.first.connection.expects(:head).with('http://127.0.0.1:8080/', { headers: {"Content-Type" => "application/json",
|
130
130
|
"User-Agent" => @transport.send(:user_agent_header)}}).returns(stub_everything)
|
131
|
-
@transport.connections.first.connection.expects(:get).with('http://127.0.0.1:8080
|
131
|
+
@transport.connections.first.connection.expects(:get).with('http://127.0.0.1:8080/', { headers: {"Content-Type" => "application/json",
|
132
132
|
"User-Agent" => @transport.send(:user_agent_header)}}).returns(stub_everything)
|
133
|
-
@transport.connections.first.connection.expects(:put).with('http://127.0.0.1:8080
|
133
|
+
@transport.connections.first.connection.expects(:put).with('http://127.0.0.1:8080/', { headers: {"Content-Type" => "application/json",
|
134
134
|
"User-Agent" => @transport.send(:user_agent_header)}}).returns(stub_everything)
|
135
|
-
@transport.connections.first.connection.expects(:post).with('http://127.0.0.1:8080
|
135
|
+
@transport.connections.first.connection.expects(:post).with('http://127.0.0.1:8080/', { headers: {"Content-Type" => "application/json",
|
136
136
|
"User-Agent" => @transport.send(:user_agent_header)}}).returns(stub_everything)
|
137
137
|
|
138
138
|
%w| HEAD GET PUT POST DELETE |.each { |method| @transport.perform_request method, '/' }
|
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: 7.
|
4
|
+
version: 7.10.0.pre
|
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-
|
11
|
+
date: 2020-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
@@ -362,11 +362,11 @@ executables: []
|
|
362
362
|
extensions: []
|
363
363
|
extra_rdoc_files:
|
364
364
|
- README.md
|
365
|
-
- LICENSE
|
365
|
+
- LICENSE.txt
|
366
366
|
files:
|
367
367
|
- ".gitignore"
|
368
368
|
- Gemfile
|
369
|
-
- LICENSE
|
369
|
+
- LICENSE.txt
|
370
370
|
- README.md
|
371
371
|
- Rakefile
|
372
372
|
- elasticsearch-transport.gemspec
|
@@ -423,9 +423,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
423
423
|
version: '2.4'
|
424
424
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
425
425
|
requirements:
|
426
|
-
- - "
|
426
|
+
- - ">"
|
427
427
|
- !ruby/object:Gem::Version
|
428
|
-
version:
|
428
|
+
version: 1.3.1
|
429
429
|
requirements: []
|
430
430
|
rubygems_version: 3.1.2
|
431
431
|
signing_key:
|