net-http-persistent 1.4.1 → 1.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.
- data.tar.gz.sig +0 -0
- data/.gemtest +0 -0
- data/History.txt +6 -0
- data/Manifest.txt +1 -0
- data/lib/net/http/persistent.rb +6 -1
- data/test/test_net_http_persistent.rb +22 -1
- metadata +13 -29
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/.gemtest
ADDED
File without changes
|
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
data/lib/net/http/persistent.rb
CHANGED
@@ -37,7 +37,7 @@ class Net::HTTP::Persistent
|
|
37
37
|
##
|
38
38
|
# The version of Net::HTTP::Persistent use are using
|
39
39
|
|
40
|
-
VERSION = '1.
|
40
|
+
VERSION = '1.5'
|
41
41
|
|
42
42
|
##
|
43
43
|
# Error class for errors raised by Net::HTTP::Persistent. Various
|
@@ -224,6 +224,11 @@ class Net::HTTP::Persistent
|
|
224
224
|
connection.start
|
225
225
|
end
|
226
226
|
|
227
|
+
if Socket.const_defined? :TCP_NODELAY then
|
228
|
+
socket = connection.instance_variable_get :@socket
|
229
|
+
socket.io.setsockopt Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1
|
230
|
+
end
|
231
|
+
|
227
232
|
connection
|
228
233
|
rescue Errno::ECONNREFUSED
|
229
234
|
raise Error, "connection refused: #{connection.address}:#{connection.port}"
|
@@ -7,9 +7,17 @@ class Net::HTTP
|
|
7
7
|
alias orig_connect connect
|
8
8
|
|
9
9
|
def connect
|
10
|
-
|
10
|
+
unless use_ssl? then
|
11
|
+
io = Object.new
|
12
|
+
def io.setsockopt(*a) @setsockopt = a end
|
13
|
+
|
14
|
+
@socket = Net::BufferedIO.new io
|
15
|
+
|
16
|
+
return
|
17
|
+
end
|
11
18
|
|
12
19
|
io = open '/dev/null'
|
20
|
+
def io.setsockopt(*a) @setsockopt = a end
|
13
21
|
|
14
22
|
@ssl_context ||= OpenSSL::SSL::SSLContext.new
|
15
23
|
|
@@ -51,9 +59,13 @@ class TestNetHttpPersistent < MiniTest::Unit::TestCase
|
|
51
59
|
end
|
52
60
|
def finish
|
53
61
|
@finished += 1
|
62
|
+
@socket = nil
|
54
63
|
end
|
55
64
|
def start
|
56
65
|
@started += 1
|
66
|
+
io = Object.new
|
67
|
+
def io.setsockopt(*a) @setsockopt = a end
|
68
|
+
@socket = Net::BufferedIO.new io
|
57
69
|
end
|
58
70
|
def reset?
|
59
71
|
@started == @finished + 1
|
@@ -132,6 +144,15 @@ class TestNetHttpPersistent < MiniTest::Unit::TestCase
|
|
132
144
|
|
133
145
|
assert_includes conns.keys, 'example.com:80'
|
134
146
|
assert_same c, conns['example.com:80']
|
147
|
+
|
148
|
+
socket = c.instance_variable_get :@socket
|
149
|
+
expected = if Socket.const_defined? :TCP_NODELAY then
|
150
|
+
[Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1]
|
151
|
+
else
|
152
|
+
nil
|
153
|
+
end
|
154
|
+
|
155
|
+
assert_equal expected, socket.io.instance_variable_get(:@setsockopt)
|
135
156
|
end
|
136
157
|
|
137
158
|
def test_connection_for_cached
|
metadata
CHANGED
@@ -5,9 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
|
10
|
-
version: 1.4.1
|
8
|
+
- 5
|
9
|
+
version: "1.5"
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Eric Hodel
|
@@ -36,57 +35,41 @@ cert_chain:
|
|
36
35
|
x52qPcexcYZR7w==
|
37
36
|
-----END CERTIFICATE-----
|
38
37
|
|
39
|
-
date:
|
38
|
+
date: 2011-01-25 00:00:00 -08:00
|
40
39
|
default_executable:
|
41
40
|
dependencies:
|
42
41
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
42
|
+
name: minitest
|
44
43
|
prerelease: false
|
45
44
|
requirement: &id001 !ruby/object:Gem::Requirement
|
46
45
|
none: false
|
47
46
|
requirements:
|
48
47
|
- - ">="
|
49
48
|
- !ruby/object:Gem::Version
|
50
|
-
hash:
|
49
|
+
hash: 11
|
51
50
|
segments:
|
52
51
|
- 2
|
53
52
|
- 0
|
54
|
-
-
|
55
|
-
version: 2.0.
|
53
|
+
- 2
|
54
|
+
version: 2.0.2
|
56
55
|
type: :development
|
57
56
|
version_requirements: *id001
|
58
57
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
58
|
+
name: hoe
|
60
59
|
prerelease: false
|
61
60
|
requirement: &id002 !ruby/object:Gem::Requirement
|
62
61
|
none: false
|
63
62
|
requirements:
|
64
63
|
- - ">="
|
65
64
|
- !ruby/object:Gem::Version
|
66
|
-
hash:
|
65
|
+
hash: 47
|
67
66
|
segments:
|
68
|
-
-
|
69
|
-
-
|
67
|
+
- 2
|
68
|
+
- 8
|
70
69
|
- 0
|
71
|
-
version:
|
70
|
+
version: 2.8.0
|
72
71
|
type: :development
|
73
72
|
version_requirements: *id002
|
74
|
-
- !ruby/object:Gem::Dependency
|
75
|
-
name: hoe
|
76
|
-
prerelease: false
|
77
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
hash: 21
|
83
|
-
segments:
|
84
|
-
- 2
|
85
|
-
- 6
|
86
|
-
- 1
|
87
|
-
version: 2.6.1
|
88
|
-
type: :development
|
89
|
-
version_requirements: *id003
|
90
73
|
description: |-
|
91
74
|
Persistent connections using Net::HTTP plus a speed fix for 1.8. It's
|
92
75
|
thread-safe too!
|
@@ -102,6 +85,7 @@ extra_rdoc_files:
|
|
102
85
|
- README.txt
|
103
86
|
files:
|
104
87
|
- .autotest
|
88
|
+
- .gemtest
|
105
89
|
- History.txt
|
106
90
|
- Manifest.txt
|
107
91
|
- README.txt
|
metadata.gz.sig
CHANGED
Binary file
|