net-http-persistent 3.0.0 → 3.0.1
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 +5 -5
- data/README.rdoc +1 -1
- data/lib/net/http/persistent.rb +44 -8
- data/lib/net/http/persistent/pool.rb +8 -4
- data/test/test_net_http_persistent.rb +18 -4
- metadata +16 -32
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 544b6c4e52caee7104e021181a7ab8723a625e239820297b7e6d87934c7e0e0e
|
4
|
+
data.tar.gz: 03e9df91b7e30d25886c30a650f9e6feb8fa7d945cf5e61b19d416bfe46eff6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38b3695f98f1bae796fb0b51b12d992b621ac9d0d8b6e9f885c9327a91d994acdfa18e37018bf5a7a28bf52e11413194b027dd332d3605f913c66f847402d683
|
7
|
+
data.tar.gz: 32420e4a50e91fcac562ab34b1c383a7ce529d0c6646a802e4625f5f61b4c017ef6640d4e466bd803d4a5d0172d577cd05ef1979a450ef326af68a76de4f709a
|
data/README.rdoc
CHANGED
@@ -32,7 +32,7 @@ connection is kept alive between requests:
|
|
32
32
|
|
33
33
|
uri = URI 'http://example.com/awesome/web/service'
|
34
34
|
|
35
|
-
http = Net::HTTP::Persistent.new 'my_app_name'
|
35
|
+
http = Net::HTTP::Persistent.new name: 'my_app_name'
|
36
36
|
|
37
37
|
# perform a GET
|
38
38
|
response = http.request uri
|
data/lib/net/http/persistent.rb
CHANGED
@@ -33,7 +33,7 @@ autoload :OpenSSL, 'openssl'
|
|
33
33
|
#
|
34
34
|
# uri = URI 'http://example.com/awesome/web/service'
|
35
35
|
#
|
36
|
-
# http = Net::HTTP::Persistent.new 'my_app_name'
|
36
|
+
# http = Net::HTTP::Persistent.new name: 'my_app_name'
|
37
37
|
#
|
38
38
|
# # perform a GET
|
39
39
|
# response = http.request uri
|
@@ -153,7 +153,7 @@ autoload :OpenSSL, 'openssl'
|
|
153
153
|
# uri = URI 'http://example.com/awesome/web/service'
|
154
154
|
# post_uri = uri + 'create'
|
155
155
|
#
|
156
|
-
# http = Net::HTTP::Persistent.new 'my_app_name'
|
156
|
+
# http = Net::HTTP::Persistent.new name: 'my_app_name'
|
157
157
|
#
|
158
158
|
# post = Net::HTTP::Post.new post_uri.path
|
159
159
|
# # ... fill in POST request
|
@@ -207,7 +207,7 @@ class Net::HTTP::Persistent
|
|
207
207
|
##
|
208
208
|
# The version of Net::HTTP::Persistent you are using
|
209
209
|
|
210
|
-
VERSION = '3.0.
|
210
|
+
VERSION = '3.0.1'
|
211
211
|
|
212
212
|
##
|
213
213
|
# Exceptions rescued for automatic retry on ruby 2.0.0. This overlaps with
|
@@ -440,10 +440,26 @@ class Net::HTTP::Persistent
|
|
440
440
|
# SSL version to use.
|
441
441
|
#
|
442
442
|
# By default, the version will be negotiated automatically between client
|
443
|
-
# and server. Ruby 1.9 and newer only.
|
443
|
+
# and server. Ruby 1.9 and newer only. Deprecated since Ruby 2.5.
|
444
444
|
|
445
445
|
attr_reader :ssl_version
|
446
446
|
|
447
|
+
##
|
448
|
+
# Minimum SSL version to use, e.g. :TLS1_1
|
449
|
+
#
|
450
|
+
# By default, the version will be negotiated automatically between client
|
451
|
+
# and server. Ruby 2.5 and newer only.
|
452
|
+
|
453
|
+
attr_reader :min_version
|
454
|
+
|
455
|
+
##
|
456
|
+
# Maximum SSL version to use, e.g. :TLS1_2
|
457
|
+
#
|
458
|
+
# By default, the version will be negotiated automatically between client
|
459
|
+
# and server. Ruby 2.5 and newer only.
|
460
|
+
|
461
|
+
attr_reader :max_version
|
462
|
+
|
447
463
|
##
|
448
464
|
# Where this instance's last-use times live in the thread local variables
|
449
465
|
|
@@ -533,6 +549,8 @@ class Net::HTTP::Persistent
|
|
533
549
|
@private_key = nil
|
534
550
|
@ssl_timeout = nil
|
535
551
|
@ssl_version = nil
|
552
|
+
@min_version = nil
|
553
|
+
@max_version = nil
|
536
554
|
@verify_callback = nil
|
537
555
|
@verify_depth = nil
|
538
556
|
@verify_mode = nil
|
@@ -744,7 +762,7 @@ class Net::HTTP::Persistent
|
|
744
762
|
|
745
763
|
##
|
746
764
|
# Pipelines +requests+ to the HTTP server at +uri+ yielding responses if a
|
747
|
-
# block is given. Returns all responses
|
765
|
+
# block is given. Returns all responses received.
|
748
766
|
#
|
749
767
|
# See
|
750
768
|
# Net::HTTP::Pipeline[http://docs.seattlerb.org/net-http-pipeline/Net/HTTP/Pipeline.html]
|
@@ -1030,9 +1048,7 @@ class Net::HTTP::Persistent
|
|
1030
1048
|
# #shutdown when you are completely done making requests!
|
1031
1049
|
|
1032
1050
|
def shutdown
|
1033
|
-
@pool.
|
1034
|
-
http.finish
|
1035
|
-
end
|
1051
|
+
@pool.shutdown { |http| http.finish }
|
1036
1052
|
end
|
1037
1053
|
|
1038
1054
|
##
|
@@ -1044,6 +1060,8 @@ class Net::HTTP::Persistent
|
|
1044
1060
|
connection.ciphers = @ciphers if @ciphers
|
1045
1061
|
connection.ssl_timeout = @ssl_timeout if @ssl_timeout
|
1046
1062
|
connection.ssl_version = @ssl_version if @ssl_version
|
1063
|
+
connection.min_version = @min_version if @min_version
|
1064
|
+
connection.max_version = @max_version if @max_version
|
1047
1065
|
|
1048
1066
|
connection.verify_depth = @verify_depth
|
1049
1067
|
connection.verify_mode = @verify_mode
|
@@ -1115,6 +1133,24 @@ application:
|
|
1115
1133
|
reconnect_ssl
|
1116
1134
|
end
|
1117
1135
|
|
1136
|
+
##
|
1137
|
+
# Minimum SSL version to use
|
1138
|
+
|
1139
|
+
def min_version= min_version
|
1140
|
+
@min_version = min_version
|
1141
|
+
|
1142
|
+
reconnect_ssl
|
1143
|
+
end
|
1144
|
+
|
1145
|
+
##
|
1146
|
+
# maximum SSL version to use
|
1147
|
+
|
1148
|
+
def max_version= max_version
|
1149
|
+
@max_version = max_version
|
1150
|
+
|
1151
|
+
reconnect_ssl
|
1152
|
+
end
|
1153
|
+
|
1118
1154
|
##
|
1119
1155
|
# Sets the depth of SSL certificate verification
|
1120
1156
|
|
@@ -7,11 +7,11 @@ class Net::HTTP::Persistent::Pool < ConnectionPool # :nodoc:
|
|
7
7
|
super
|
8
8
|
|
9
9
|
@available = Net::HTTP::Persistent::TimedStackMulti.new(@size, &block)
|
10
|
-
@key =
|
10
|
+
@key = "current-#{@available.object_id}"
|
11
11
|
end
|
12
12
|
|
13
13
|
def checkin net_http_args
|
14
|
-
stack = Thread.current[@key][net_http_args]
|
14
|
+
stack = Thread.current[@key][net_http_args] ||= []
|
15
15
|
|
16
16
|
raise ConnectionPool::Error, 'no connections are checked out' if
|
17
17
|
stack.empty?
|
@@ -26,8 +26,8 @@ class Net::HTTP::Persistent::Pool < ConnectionPool # :nodoc:
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def checkout net_http_args
|
29
|
-
stacks = Thread.current[@key] ||=
|
30
|
-
stack = stacks[net_http_args]
|
29
|
+
stacks = Thread.current[@key] ||= {}
|
30
|
+
stack = stacks[net_http_args] ||= []
|
31
31
|
|
32
32
|
if stack.empty? then
|
33
33
|
conn = @available.pop connection_args: net_http_args
|
@@ -40,6 +40,10 @@ class Net::HTTP::Persistent::Pool < ConnectionPool # :nodoc:
|
|
40
40
|
conn
|
41
41
|
end
|
42
42
|
|
43
|
+
def shutdown
|
44
|
+
Thread.current[@key] = nil
|
45
|
+
super
|
46
|
+
end
|
43
47
|
end
|
44
48
|
|
45
49
|
require 'net/http/persistent/timed_stack_multi'
|
@@ -77,8 +77,8 @@ class TestNetHttpPersistent < Minitest::Test
|
|
77
77
|
class BasicConnection
|
78
78
|
attr_accessor :started, :finished, :address, :port, :use_ssl,
|
79
79
|
:read_timeout, :open_timeout, :keep_alive_timeout
|
80
|
-
attr_accessor :ciphers, :ssl_timeout, :ssl_version,
|
81
|
-
:verify_depth, :verify_mode, :cert_store,
|
80
|
+
attr_accessor :ciphers, :ssl_timeout, :ssl_version, :min_version,
|
81
|
+
:max_version, :verify_depth, :verify_mode, :cert_store,
|
82
82
|
:ca_file, :ca_path, :cert, :key
|
83
83
|
attr_reader :req, :debug_output
|
84
84
|
def initialize
|
@@ -786,7 +786,7 @@ class TestNetHttpPersistent < Minitest::Test
|
|
786
786
|
def test_proxy_equals_nil
|
787
787
|
@http.proxy = nil
|
788
788
|
|
789
|
-
|
789
|
+
assert_nil @http.proxy_uri
|
790
790
|
|
791
791
|
assert_equal 1, @http.generation, 'generation'
|
792
792
|
assert_equal 1, @http.ssl_generation, 'ssl_generation'
|
@@ -1094,7 +1094,7 @@ class TestNetHttpPersistent < Minitest::Test
|
|
1094
1094
|
assert_kind_of Net::HTTP::Get, req
|
1095
1095
|
assert_equal '/path', req.path
|
1096
1096
|
assert_equal 'close', req['connection']
|
1097
|
-
|
1097
|
+
assert_nil req['keep-alive']
|
1098
1098
|
|
1099
1099
|
assert c.http.finished?
|
1100
1100
|
end
|
@@ -1527,6 +1527,20 @@ class TestNetHttpPersistent < Minitest::Test
|
|
1527
1527
|
assert_equal 1, @http.ssl_generation
|
1528
1528
|
end
|
1529
1529
|
|
1530
|
+
def test_min_version_equals
|
1531
|
+
@http.min_version = :min_version
|
1532
|
+
|
1533
|
+
assert_equal :min_version, @http.min_version
|
1534
|
+
assert_equal 1, @http.ssl_generation
|
1535
|
+
end
|
1536
|
+
|
1537
|
+
def test_max_version_equals
|
1538
|
+
@http.max_version = :max_version
|
1539
|
+
|
1540
|
+
assert_equal :max_version, @http.max_version
|
1541
|
+
assert_equal 1, @http.ssl_generation
|
1542
|
+
end
|
1543
|
+
|
1530
1544
|
def test_start
|
1531
1545
|
c = basic_connection
|
1532
1546
|
c = c.http
|
metadata
CHANGED
@@ -1,35 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-http-persistent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Hodel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIDNjCCAh6gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBBMRAwDgYDVQQDDAdkcmJy
|
14
|
-
YWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZFgNu
|
15
|
-
ZXQwHhcNMTYxMDA1MDQyNTQ0WhcNMTcxMDA1MDQyNTQ0WjBBMRAwDgYDVQQDDAdk
|
16
|
-
cmJyYWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZ
|
17
|
-
FgNuZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCbbgLrGLGIDE76
|
18
|
-
LV/cvxdEzCuYuS3oG9PrSZnuDweySUfdp/so0cDq+j8bqy6OzZSw07gdjwFMSd6J
|
19
|
-
U5ddZCVywn5nnAQ+Ui7jMW54CYt5/H6f2US6U0hQOjJR6cpfiymgxGdfyTiVcvTm
|
20
|
-
Gj/okWrQl0NjYOYBpDi+9PPmaH2RmLJu0dB/NylsDnW5j6yN1BEI8MfJRR+HRKZY
|
21
|
-
mUtgzBwF1V4KIZQ8EuL6I/nHVu07i6IkrpAgxpXUfdJQJi0oZAqXurAV3yTxkFwd
|
22
|
-
g62YrrW26mDe+pZBzR6bpLE+PmXCzz7UxUq3AE0gPHbiMXie3EFE0oxnsU3lIduh
|
23
|
-
sCANiQ8BAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
|
24
|
-
BBS5k4Z75VSpdM0AclG2UvzFA/VW5DANBgkqhkiG9w0BAQUFAAOCAQEAFz46xasn
|
25
|
-
5Jx0lPqq6EGpijLIWv+jk+m2v3Ps38M2ZmNpiThmYFBHIqfDCS0UJWDPTj6FJX0A
|
26
|
-
rspSuifsHq3CQ3RJImdO9Gewvx6p3WL/xZD1LmuRo6ktWH9gZWiZpA38GfFGj3SZ
|
27
|
-
2u6n3qOEsaxIfwYcU4lCgeZ61JdVU+WWK+GfZpCz4BnjA5hgwdFaf5Zb560RtW7S
|
28
|
-
77pi/SZtblyK/jqz1hgoMcaYZvIJTqZnen0pHaq+lKY1KzGdTuVbwD3DO+Fi1Vu8
|
29
|
-
BOJAX2VNKk4wthxdCu0SvPe7e+QMP2rmaZOyuX4ztiDQiGuoJxyeqoG1WiOttINU
|
30
|
-
U76tHMFuL0FUYw==
|
31
|
-
-----END CERTIFICATE-----
|
32
|
-
date: 2016-10-06 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-04-29 00:00:00.000000000 Z
|
33
12
|
dependencies:
|
34
13
|
- !ruby/object:Gem::Dependency
|
35
14
|
name: connection_pool
|
@@ -51,42 +30,48 @@ dependencies:
|
|
51
30
|
requirements:
|
52
31
|
- - "~>"
|
53
32
|
- !ruby/object:Gem::Version
|
54
|
-
version: '5.
|
33
|
+
version: '5.11'
|
55
34
|
type: :development
|
56
35
|
prerelease: false
|
57
36
|
version_requirements: !ruby/object:Gem::Requirement
|
58
37
|
requirements:
|
59
38
|
- - "~>"
|
60
39
|
- !ruby/object:Gem::Version
|
61
|
-
version: '5.
|
40
|
+
version: '5.11'
|
62
41
|
- !ruby/object:Gem::Dependency
|
63
42
|
name: rdoc
|
64
43
|
requirement: !ruby/object:Gem::Requirement
|
65
44
|
requirements:
|
66
|
-
- - "
|
45
|
+
- - ">="
|
67
46
|
- !ruby/object:Gem::Version
|
68
47
|
version: '4.0'
|
48
|
+
- - "<"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '7'
|
69
51
|
type: :development
|
70
52
|
prerelease: false
|
71
53
|
version_requirements: !ruby/object:Gem::Requirement
|
72
54
|
requirements:
|
73
|
-
- - "
|
55
|
+
- - ">="
|
74
56
|
- !ruby/object:Gem::Version
|
75
57
|
version: '4.0'
|
58
|
+
- - "<"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '7'
|
76
61
|
- !ruby/object:Gem::Dependency
|
77
62
|
name: hoe
|
78
63
|
requirement: !ruby/object:Gem::Requirement
|
79
64
|
requirements:
|
80
65
|
- - "~>"
|
81
66
|
- !ruby/object:Gem::Version
|
82
|
-
version: '3.
|
67
|
+
version: '3.17'
|
83
68
|
type: :development
|
84
69
|
prerelease: false
|
85
70
|
version_requirements: !ruby/object:Gem::Requirement
|
86
71
|
requirements:
|
87
72
|
- - "~>"
|
88
73
|
- !ruby/object:Gem::Version
|
89
|
-
version: '3.
|
74
|
+
version: '3.17'
|
90
75
|
description: |-
|
91
76
|
Manages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8.
|
92
77
|
It's thread-safe too!
|
@@ -141,8 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
141
126
|
- !ruby/object:Gem::Version
|
142
127
|
version: '0'
|
143
128
|
requirements: []
|
144
|
-
|
145
|
-
rubygems_version: 2.6.4
|
129
|
+
rubygems_version: 3.0.1
|
146
130
|
signing_key:
|
147
131
|
specification_version: 4
|
148
132
|
summary: Manages persistent connections using Net::HTTP plus a speed fix for Ruby
|
checksums.yaml.gz.sig
DELETED
Binary file
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
�纯t�O��6�ճ���
|