net-http-persistent 4.0.1 → 4.0.5
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/Gemfile +6 -7
- data/History.txt +24 -0
- data/Manifest.txt +0 -1
- data/README.rdoc +1 -1
- data/Rakefile +20 -26
- data/lib/net/http/persistent/connection.rb +1 -0
- data/lib/net/http/persistent/pool.rb +21 -9
- data/lib/net/http/persistent.rb +80 -10
- data/test/test_net_http_persistent.rb +73 -2
- data/test/test_net_http_persistent_timed_stack_multi.rb +1 -1
- metadata +7 -90
- data/.travis.yml +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 182064ce89718e66d95177021a7005adeb6e1d4299925e90fc6ac2a537dc533d
|
4
|
+
data.tar.gz: ef7588300c587a1f71e49496ed6131acdf3cad110fa6653acab3779f5f01e3ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14c95c55ea8c89616d13917ba1fb9b05253181fd7007cf5aa03ab03c8e9987e8d4dc936b21481bf37f810df5931994ea6e5dc2eb6c259ab6591f2cfa75bff24f
|
7
|
+
data.tar.gz: e7560d360ac6b20b750a19f6b84c7e5f8656e44962fbb8223ae1295e18dea513456df99c268fa06c2909b9c7e1c4e96655b7055432032d1044187ce07a2ba40b
|
data/Gemfile
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
# -*- ruby -*-
|
2
2
|
|
3
|
-
# DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake bundler:gemfile`.
|
4
|
-
|
5
3
|
source "https://rubygems.org/"
|
6
4
|
|
7
|
-
|
5
|
+
gemspec
|
8
6
|
|
9
|
-
gem "
|
10
|
-
gem "
|
11
|
-
gem "hoe-travis", "~>1.4", ">=1.4.1", :group => [:development, :test]
|
7
|
+
gem "rake", "~>13.0"
|
8
|
+
gem "minitest", "~>5.15", :group => [:development, :test]
|
12
9
|
gem "rdoc", ">=4.0", "<7", :group => [:development, :test]
|
13
|
-
gem "
|
10
|
+
gem "rake-manifest", "~>0.2"
|
11
|
+
|
12
|
+
gem 'net-http-pipeline', '~> 1.0' if ENV['CI_MATRIX'] == 'pipeline'
|
14
13
|
|
15
14
|
# vim: syntax=ruby
|
data/History.txt
CHANGED
@@ -1,3 +1,27 @@
|
|
1
|
+
=== 4.0.5 / 2024-12-04
|
2
|
+
|
3
|
+
Bug fixes:
|
4
|
+
|
5
|
+
* Allow setting extra_chain_cert=
|
6
|
+
|
7
|
+
=== 4.0.4 / 2024-09-09
|
8
|
+
|
9
|
+
Bug fixes:
|
10
|
+
|
11
|
+
* Allow setting verify_hostname to false
|
12
|
+
|
13
|
+
=== 4.0.3 / 2024-09-09
|
14
|
+
|
15
|
+
Bug fixes:
|
16
|
+
|
17
|
+
* Handle Net::HTTP#verify_hostname was added in Ruby 3.0 or later. #120
|
18
|
+
|
19
|
+
=== 4.0.2 / 2023-03-29
|
20
|
+
|
21
|
+
Bug fixes:
|
22
|
+
|
23
|
+
* Fix compatibility with `connection_pool 2.4+`
|
24
|
+
|
1
25
|
=== 4.0.1 / 2021-01-12
|
2
26
|
|
3
27
|
Bug fixes:
|
data/Manifest.txt
CHANGED
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -1,31 +1,25 @@
|
|
1
1
|
# -*- ruby -*-
|
2
2
|
|
3
|
-
require
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
dependency 'connection_pool', '~> 2.2'
|
24
|
-
dependency 'minitest', '~> 5.2', :development
|
25
|
-
dependency 'hoe-bundler', '~> 1.5', :development
|
26
|
-
dependency 'hoe-travis', ['~> 1.4', '>= 1.4.1'], :development
|
27
|
-
dependency 'net-http-pipeline', '~> 1.0' if
|
28
|
-
ENV['TRAVIS_MATRIX'] == 'pipeline'
|
3
|
+
require "bundler/gem_tasks"
|
4
|
+
|
5
|
+
require "rake/testtask"
|
6
|
+
|
7
|
+
Rake::TestTask.new
|
8
|
+
|
9
|
+
require "rake/manifest"
|
10
|
+
|
11
|
+
Rake::Manifest::Task.new do |t|
|
12
|
+
t.patterns = [
|
13
|
+
".autotest",
|
14
|
+
".gemtest",
|
15
|
+
".travis.yml",
|
16
|
+
"Gemfile",
|
17
|
+
"History.txt",
|
18
|
+
"Manifest.txt",
|
19
|
+
"README.rdoc",
|
20
|
+
"Rakefile",
|
21
|
+
"{test,lib}/**/*"
|
22
|
+
]
|
29
23
|
end
|
30
24
|
|
31
25
|
# vim: syntax=Ruby
|
@@ -11,20 +11,32 @@ class Net::HTTP::Persistent::Pool < ConnectionPool # :nodoc:
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def checkin net_http_args
|
14
|
-
|
14
|
+
if net_http_args.is_a?(Hash) && net_http_args.size == 1 && net_http_args[:force]
|
15
|
+
# ConnectionPool 2.4+ calls `checkin(force: true)` after fork.
|
16
|
+
# When this happens, we should remove all connections from Thread.current
|
17
|
+
if stacks = Thread.current[@key]
|
18
|
+
stacks.each do |http_args, connections|
|
19
|
+
connections.each do |conn|
|
20
|
+
@available.push conn, connection_args: http_args
|
21
|
+
end
|
22
|
+
connections.clear
|
23
|
+
end
|
24
|
+
end
|
25
|
+
else
|
26
|
+
stack = Thread.current[@key][net_http_args] ||= []
|
15
27
|
|
16
|
-
|
17
|
-
|
28
|
+
raise ConnectionPool::Error, 'no connections are checked out' if
|
29
|
+
stack.empty?
|
18
30
|
|
19
|
-
|
31
|
+
conn = stack.pop
|
20
32
|
|
21
|
-
|
22
|
-
|
33
|
+
if stack.empty?
|
34
|
+
@available.push conn, connection_args: net_http_args
|
23
35
|
|
24
|
-
|
25
|
-
|
36
|
+
Thread.current[@key].delete(net_http_args)
|
37
|
+
Thread.current[@key] = nil if Thread.current[@key].empty?
|
38
|
+
end
|
26
39
|
end
|
27
|
-
|
28
40
|
nil
|
29
41
|
end
|
30
42
|
|
data/lib/net/http/persistent.rb
CHANGED
@@ -65,6 +65,7 @@ autoload :OpenSSL, 'openssl'
|
|
65
65
|
# #ca_path :: Directory with certificate-authorities
|
66
66
|
# #cert_store :: An SSL certificate store
|
67
67
|
# #ciphers :: List of SSl ciphers allowed
|
68
|
+
# #extra_chain_cert :: Extra certificates to be added to the certificate chain
|
68
69
|
# #private_key :: The client's SSL private key
|
69
70
|
# #reuse_ssl_sessions :: Reuse a previously opened SSL session for a new
|
70
71
|
# connection
|
@@ -73,6 +74,8 @@ autoload :OpenSSL, 'openssl'
|
|
73
74
|
# #verify_callback :: For server certificate verification
|
74
75
|
# #verify_depth :: Depth of certificate verification
|
75
76
|
# #verify_mode :: How connections should be verified
|
77
|
+
# #verify_hostname :: Use hostname verification for server certificate
|
78
|
+
# during the handshake
|
76
79
|
#
|
77
80
|
# == Proxies
|
78
81
|
#
|
@@ -164,7 +167,14 @@ class Net::HTTP::Persistent
|
|
164
167
|
# limits (typically windows).
|
165
168
|
|
166
169
|
if Process.const_defined? :RLIMIT_NOFILE
|
167
|
-
|
170
|
+
open_file_limits = Process.getrlimit(Process::RLIMIT_NOFILE)
|
171
|
+
|
172
|
+
# Under JRuby on Windows Process responds to `getrlimit` but returns something that does not match docs
|
173
|
+
if open_file_limits.respond_to?(:first)
|
174
|
+
DEFAULT_POOL_SIZE = open_file_limits.first / 4
|
175
|
+
else
|
176
|
+
DEFAULT_POOL_SIZE = 256
|
177
|
+
end
|
168
178
|
else
|
169
179
|
DEFAULT_POOL_SIZE = 256
|
170
180
|
end
|
@@ -172,7 +182,7 @@ class Net::HTTP::Persistent
|
|
172
182
|
##
|
173
183
|
# The version of Net::HTTP::Persistent you are using
|
174
184
|
|
175
|
-
VERSION = '4.0.
|
185
|
+
VERSION = '4.0.5'
|
176
186
|
|
177
187
|
##
|
178
188
|
# Error class for errors raised by Net::HTTP::Persistent. Various
|
@@ -263,6 +273,11 @@ class Net::HTTP::Persistent
|
|
263
273
|
|
264
274
|
attr_reader :ciphers
|
265
275
|
|
276
|
+
##
|
277
|
+
# Extra certificates to be added to the certificate chain
|
278
|
+
|
279
|
+
attr_reader :extra_chain_cert
|
280
|
+
|
266
281
|
##
|
267
282
|
# Sends debug_output to this IO via Net::HTTP#set_debug_output.
|
268
283
|
#
|
@@ -447,6 +462,21 @@ class Net::HTTP::Persistent
|
|
447
462
|
|
448
463
|
attr_reader :verify_mode
|
449
464
|
|
465
|
+
##
|
466
|
+
# HTTPS verify_hostname.
|
467
|
+
#
|
468
|
+
# If a client sets this to true and enables SNI with SSLSocket#hostname=,
|
469
|
+
# the hostname verification on the server certificate is performed
|
470
|
+
# automatically during the handshake using
|
471
|
+
# OpenSSL::SSL.verify_certificate_identity().
|
472
|
+
#
|
473
|
+
# You can set +verify_hostname+ as true to use hostname verification
|
474
|
+
# during the handshake.
|
475
|
+
#
|
476
|
+
# NOTE: This works with Ruby > 3.0.
|
477
|
+
|
478
|
+
attr_reader :verify_hostname
|
479
|
+
|
450
480
|
##
|
451
481
|
# Creates a new Net::HTTP::Persistent.
|
452
482
|
#
|
@@ -506,6 +536,7 @@ class Net::HTTP::Persistent
|
|
506
536
|
@verify_callback = nil
|
507
537
|
@verify_depth = nil
|
508
538
|
@verify_mode = nil
|
539
|
+
@verify_hostname = nil
|
509
540
|
@cert_store = nil
|
510
541
|
|
511
542
|
@generation = 0 # incremented when proxy URI changes
|
@@ -567,6 +598,21 @@ class Net::HTTP::Persistent
|
|
567
598
|
reconnect_ssl
|
568
599
|
end
|
569
600
|
|
601
|
+
if Net::HTTP.method_defined?(:extra_chain_cert=)
|
602
|
+
##
|
603
|
+
# Extra certificates to be added to the certificate chain.
|
604
|
+
# It is only supported starting from Net::HTTP version 0.1.1
|
605
|
+
def extra_chain_cert= extra_chain_cert
|
606
|
+
@extra_chain_cert = extra_chain_cert
|
607
|
+
|
608
|
+
reconnect_ssl
|
609
|
+
end
|
610
|
+
else
|
611
|
+
def extra_chain_cert= _extra_chain_cert
|
612
|
+
raise "extra_chain_cert= is not supported by this version of Net::HTTP"
|
613
|
+
end
|
614
|
+
end
|
615
|
+
|
570
616
|
##
|
571
617
|
# Creates a new connection for +uri+
|
572
618
|
|
@@ -605,13 +651,23 @@ class Net::HTTP::Persistent
|
|
605
651
|
|
606
652
|
return yield connection
|
607
653
|
rescue Errno::ECONNREFUSED
|
608
|
-
|
609
|
-
|
654
|
+
if http.proxy?
|
655
|
+
address = http.proxy_address
|
656
|
+
port = http.proxy_port
|
657
|
+
else
|
658
|
+
address = http.address
|
659
|
+
port = http.port
|
660
|
+
end
|
610
661
|
|
611
662
|
raise Error, "connection refused: #{address}:#{port}"
|
612
663
|
rescue Errno::EHOSTDOWN
|
613
|
-
|
614
|
-
|
664
|
+
if http.proxy?
|
665
|
+
address = http.proxy_address
|
666
|
+
port = http.proxy_port
|
667
|
+
else
|
668
|
+
address = http.address
|
669
|
+
port = http.port
|
670
|
+
end
|
615
671
|
|
616
672
|
raise Error, "host down: #{address}:#{port}"
|
617
673
|
ensure
|
@@ -710,7 +766,7 @@ class Net::HTTP::Persistent
|
|
710
766
|
# block is given. Returns all responses received.
|
711
767
|
#
|
712
768
|
# See
|
713
|
-
# Net::HTTP::Pipeline[
|
769
|
+
# Net::HTTP::Pipeline[https://rdoc.info/gems/net-http-pipeline/Net/HTTP/Pipeline]
|
714
770
|
# for further details.
|
715
771
|
#
|
716
772
|
# Only if <tt>net-http-pipeline</tt> was required before
|
@@ -963,8 +1019,10 @@ class Net::HTTP::Persistent
|
|
963
1019
|
connection.min_version = @min_version if @min_version
|
964
1020
|
connection.max_version = @max_version if @max_version
|
965
1021
|
|
966
|
-
connection.verify_depth
|
967
|
-
connection.verify_mode
|
1022
|
+
connection.verify_depth = @verify_depth
|
1023
|
+
connection.verify_mode = @verify_mode
|
1024
|
+
connection.verify_hostname = @verify_hostname if
|
1025
|
+
@verify_hostname != nil && connection.respond_to?(:verify_hostname=)
|
968
1026
|
|
969
1027
|
if OpenSSL::SSL::VERIFY_PEER == OpenSSL::SSL::VERIFY_NONE and
|
970
1028
|
not Object.const_defined?(:I_KNOW_THAT_OPENSSL_VERIFY_PEER_EQUALS_VERIFY_NONE_IS_WRONG) then
|
@@ -1006,6 +1064,10 @@ application:
|
|
1006
1064
|
connection.key = @private_key
|
1007
1065
|
end
|
1008
1066
|
|
1067
|
+
if defined?(@extra_chain_cert) and @extra_chain_cert
|
1068
|
+
connection.extra_chain_cert = @extra_chain_cert
|
1069
|
+
end
|
1070
|
+
|
1009
1071
|
connection.cert_store = if @cert_store then
|
1010
1072
|
@cert_store
|
1011
1073
|
else
|
@@ -1073,6 +1135,15 @@ application:
|
|
1073
1135
|
reconnect_ssl
|
1074
1136
|
end
|
1075
1137
|
|
1138
|
+
##
|
1139
|
+
# Sets the HTTPS verify_hostname.
|
1140
|
+
|
1141
|
+
def verify_hostname= verify_hostname
|
1142
|
+
@verify_hostname = verify_hostname
|
1143
|
+
|
1144
|
+
reconnect_ssl
|
1145
|
+
end
|
1146
|
+
|
1076
1147
|
##
|
1077
1148
|
# SSL verification callback.
|
1078
1149
|
|
@@ -1085,4 +1156,3 @@ end
|
|
1085
1156
|
|
1086
1157
|
require_relative 'persistent/connection'
|
1087
1158
|
require_relative 'persistent/pool'
|
1088
|
-
|
@@ -116,6 +116,9 @@ class TestNetHttpPersistent < Minitest::Test
|
|
116
116
|
end
|
117
117
|
def proxy_port
|
118
118
|
end
|
119
|
+
def proxy?
|
120
|
+
false
|
121
|
+
end
|
119
122
|
end
|
120
123
|
|
121
124
|
def basic_connection
|
@@ -244,6 +247,14 @@ class TestNetHttpPersistent < Minitest::Test
|
|
244
247
|
assert_equal 1, @http.ssl_generation
|
245
248
|
end
|
246
249
|
|
250
|
+
def test_extra_chain_cert_equals
|
251
|
+
skip 'extra_chain_cert is not supported by Net::HTTP' unless Net::HTTP.method_defined?(:extra_chain_cert)
|
252
|
+
@http.extra_chain_cert = :extra_chain_cert
|
253
|
+
|
254
|
+
assert_equal :extra_chain_cert, @http.extra_chain_cert
|
255
|
+
assert_equal 1, @http.ssl_generation
|
256
|
+
end
|
257
|
+
|
247
258
|
def test_connection_for
|
248
259
|
@http.open_timeout = 123
|
249
260
|
@http.read_timeout = 321
|
@@ -362,6 +373,7 @@ class TestNetHttpPersistent < Minitest::Test
|
|
362
373
|
end
|
363
374
|
|
364
375
|
def test_connection_for_finished_ssl
|
376
|
+
skip 'Broken on Windows' if Gem.win_platform?
|
365
377
|
skip 'OpenSSL is missing' unless HAVE_OPENSSL
|
366
378
|
|
367
379
|
uri = URI.parse 'https://example.com/path'
|
@@ -555,6 +567,7 @@ class TestNetHttpPersistent < Minitest::Test
|
|
555
567
|
end
|
556
568
|
|
557
569
|
def test_connection_for_ssl
|
570
|
+
skip 'Broken on Windows' if Gem.win_platform?
|
558
571
|
skip 'OpenSSL is missing' unless HAVE_OPENSSL
|
559
572
|
|
560
573
|
uri = URI.parse 'https://example.com/path'
|
@@ -595,6 +608,7 @@ class TestNetHttpPersistent < Minitest::Test
|
|
595
608
|
end
|
596
609
|
|
597
610
|
def test_connection_for_ssl_case
|
611
|
+
skip 'Broken on Windows' if Gem.win_platform?
|
598
612
|
skip 'OpenSSL is missing' unless HAVE_OPENSSL
|
599
613
|
|
600
614
|
uri = URI.parse 'HTTPS://example.com/path'
|
@@ -631,6 +645,7 @@ class TestNetHttpPersistent < Minitest::Test
|
|
631
645
|
end
|
632
646
|
|
633
647
|
def test_expired_eh
|
648
|
+
skip 'Broken on Windows' if Gem.win_platform?
|
634
649
|
c = basic_connection
|
635
650
|
c.requests = 0
|
636
651
|
c.last_use = Time.now - 11
|
@@ -976,7 +991,10 @@ class TestNetHttpPersistent < Minitest::Test
|
|
976
991
|
assert_equal 'keep-alive', req['connection']
|
977
992
|
assert_equal '30', req['keep-alive']
|
978
993
|
|
979
|
-
|
994
|
+
# There's some roounding issue on jruby preventing this from passing
|
995
|
+
unless RUBY_PLATFORM == "java"
|
996
|
+
assert_in_delta Time.now, c.last_use
|
997
|
+
end
|
980
998
|
|
981
999
|
assert_equal 1, c.requests
|
982
1000
|
end
|
@@ -1249,6 +1267,7 @@ class TestNetHttpPersistent < Minitest::Test
|
|
1249
1267
|
assert_equal OpenSSL::SSL::VERIFY_PEER, c.verify_mode
|
1250
1268
|
assert_kind_of OpenSSL::X509::Store, c.cert_store
|
1251
1269
|
assert_nil c.verify_callback
|
1270
|
+
assert_nil c.verify_hostname if c.respond_to?(:verify_hostname)
|
1252
1271
|
end
|
1253
1272
|
|
1254
1273
|
def test_ssl_ca_file
|
@@ -1332,6 +1351,49 @@ class TestNetHttpPersistent < Minitest::Test
|
|
1332
1351
|
assert_equal OpenSSL::SSL::VERIFY_NONE, c.verify_mode
|
1333
1352
|
end
|
1334
1353
|
|
1354
|
+
def test_ssl_enable_verify_hostname
|
1355
|
+
skip 'OpenSSL is missing' unless HAVE_OPENSSL
|
1356
|
+
|
1357
|
+
@http.verify_hostname = true
|
1358
|
+
c = Net::HTTP.new 'localhost', 80
|
1359
|
+
|
1360
|
+
skip 'net/http doesn\'t provide verify_hostname= method' unless
|
1361
|
+
c.respond_to?(:verify_hostname=)
|
1362
|
+
|
1363
|
+
@http.ssl c
|
1364
|
+
|
1365
|
+
assert c.use_ssl?
|
1366
|
+
assert c.verify_hostname
|
1367
|
+
end
|
1368
|
+
|
1369
|
+
def test_ssl_disable_verify_hostname
|
1370
|
+
skip 'OpenSSL is missing' unless HAVE_OPENSSL
|
1371
|
+
|
1372
|
+
@http.verify_hostname = false
|
1373
|
+
c = Net::HTTP.new 'localhost', 80
|
1374
|
+
|
1375
|
+
skip 'net/http doesn\'t provide verify_hostname= method' unless
|
1376
|
+
c.respond_to?(:verify_hostname=)
|
1377
|
+
|
1378
|
+
@http.ssl c
|
1379
|
+
|
1380
|
+
assert c.use_ssl?
|
1381
|
+
assert c.verify_hostname == false
|
1382
|
+
end
|
1383
|
+
|
1384
|
+
def test_ssl_extra_chain_cert
|
1385
|
+
skip 'OpenSSL is missing' unless HAVE_OPENSSL
|
1386
|
+
skip 'extra_chain_cert is not supported by Net::HTTP' unless Net::HTTP.method_defined?(:extra_chain_cert)
|
1387
|
+
|
1388
|
+
@http.extra_chain_cert = :extra_chain_cert
|
1389
|
+
c = Net::HTTP.new 'localhost', 80
|
1390
|
+
|
1391
|
+
@http.ssl c
|
1392
|
+
|
1393
|
+
assert c.use_ssl?
|
1394
|
+
assert_equal :extra_chain_cert, c.extra_chain_cert
|
1395
|
+
end
|
1396
|
+
|
1335
1397
|
def test_ssl_warning
|
1336
1398
|
skip 'OpenSSL is missing' unless HAVE_OPENSSL
|
1337
1399
|
|
@@ -1437,5 +1499,14 @@ class TestNetHttpPersistent < Minitest::Test
|
|
1437
1499
|
assert_equal 1, @http.ssl_generation
|
1438
1500
|
end
|
1439
1501
|
|
1440
|
-
|
1502
|
+
def test_connection_pool_after_fork
|
1503
|
+
# ConnectionPool 2.4+ calls `checkin(force: true)` after fork
|
1504
|
+
@http.pool.checkin(force: true)
|
1441
1505
|
|
1506
|
+
@http.pool.checkout ['example.com', 80, nil, nil, nil, nil]
|
1507
|
+
@http.pool.checkin(force: true)
|
1508
|
+
@http.pool.reload do |connection|
|
1509
|
+
connection.close
|
1510
|
+
end
|
1511
|
+
end
|
1512
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-http-persistent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Hodel
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: connection_pool
|
@@ -24,88 +24,6 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.2'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: minitest
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '5.14'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '5.14'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: hoe-bundler
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '1.5'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '1.5'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: hoe-travis
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '1.4'
|
62
|
-
- - ">="
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: 1.4.1
|
65
|
-
type: :development
|
66
|
-
prerelease: false
|
67
|
-
version_requirements: !ruby/object:Gem::Requirement
|
68
|
-
requirements:
|
69
|
-
- - "~>"
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: '1.4'
|
72
|
-
- - ">="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: 1.4.1
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: rdoc
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
78
|
-
requirements:
|
79
|
-
- - ">="
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: '4.0'
|
82
|
-
- - "<"
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: '7'
|
85
|
-
type: :development
|
86
|
-
prerelease: false
|
87
|
-
version_requirements: !ruby/object:Gem::Requirement
|
88
|
-
requirements:
|
89
|
-
- - ">="
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: '4.0'
|
92
|
-
- - "<"
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
version: '7'
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
name: hoe
|
97
|
-
requirement: !ruby/object:Gem::Requirement
|
98
|
-
requirements:
|
99
|
-
- - "~>"
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '3.22'
|
102
|
-
type: :development
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
requirements:
|
106
|
-
- - "~>"
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
version: '3.22'
|
109
27
|
description: |-
|
110
28
|
Manages persistent connections using Net::HTTP including a thread pool for
|
111
29
|
connecting to multiple hosts.
|
@@ -129,7 +47,6 @@ extra_rdoc_files:
|
|
129
47
|
files:
|
130
48
|
- ".autotest"
|
131
49
|
- ".gemtest"
|
132
|
-
- ".travis.yml"
|
133
50
|
- Gemfile
|
134
51
|
- History.txt
|
135
52
|
- Manifest.txt
|
@@ -146,7 +63,7 @@ licenses:
|
|
146
63
|
- MIT
|
147
64
|
metadata:
|
148
65
|
homepage_uri: https://github.com/drbrain/net-http-persistent
|
149
|
-
post_install_message:
|
66
|
+
post_install_message:
|
150
67
|
rdoc_options:
|
151
68
|
- "--main"
|
152
69
|
- README.rdoc
|
@@ -156,15 +73,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
156
73
|
requirements:
|
157
74
|
- - ">="
|
158
75
|
- !ruby/object:Gem::Version
|
159
|
-
version: '2.
|
76
|
+
version: '2.4'
|
160
77
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
161
78
|
requirements:
|
162
79
|
- - ">="
|
163
80
|
- !ruby/object:Gem::Version
|
164
81
|
version: '0'
|
165
82
|
requirements: []
|
166
|
-
rubygems_version: 3.1
|
167
|
-
signing_key:
|
83
|
+
rubygems_version: 3.0.3.1
|
84
|
+
signing_key:
|
168
85
|
specification_version: 4
|
169
86
|
summary: Manages persistent connections using Net::HTTP including a thread pool for
|
170
87
|
connecting to multiple hosts
|
data/.travis.yml
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
---
|
2
|
-
after_script:
|
3
|
-
- rake travis:after -t
|
4
|
-
before_script:
|
5
|
-
- gem install hoe-travis --no-document
|
6
|
-
- rake travis:before -t
|
7
|
-
language: ruby
|
8
|
-
notifications:
|
9
|
-
email:
|
10
|
-
- drbrain@segment7.net
|
11
|
-
rvm:
|
12
|
-
- 2.3
|
13
|
-
- 2.4
|
14
|
-
- 2.5
|
15
|
-
- 2.6
|
16
|
-
- 2.7
|
17
|
-
script: rake travis
|
18
|
-
install: "" # avoid running default bundler install
|
19
|
-
|
20
|
-
matrix:
|
21
|
-
include:
|
22
|
-
- rvm: "2.7"
|
23
|
-
env: TRAVIS_MATRIX=pipeline
|