net-http-persistent 1.8 → 1.8.1

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
Binary file
@@ -1,3 +1,9 @@
1
+ === 1.8.1 / 2011-08-08
2
+
3
+ * Bug Fix
4
+ * Requests with OpenSSL errors are retried now. Pull Request #5 by James
5
+ Tucker.
6
+
1
7
  === 1.8 / 2011-06-27
2
8
 
3
9
  * Minor Enhancement
data/README.txt CHANGED
@@ -1,12 +1,12 @@
1
1
  = net-http-persistent
2
2
 
3
- * http://seattlerb.rubyforge.org/net-http-persistent
3
+ * http://docs.seattlerb.org/net-http-persistent
4
4
  * https://github.com/drbrain/net-http-persistent
5
5
 
6
6
  == DESCRIPTION:
7
7
 
8
- Manages persistent connections using Net::HTTP plus a speed fix for 1.8. It's
9
- thread-safe too!
8
+ Manages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8.
9
+ It's thread-safe too!
10
10
 
11
11
  Using persistent HTTP connections can dramatically increase the speed of HTTP.
12
12
  Creating a new HTTP connection for every request involves an extra TCP
@@ -14,14 +14,14 @@ round-trip and causes TCP congestion avoidance negotiation to start over.
14
14
 
15
15
  Net::HTTP supports persistent connections with some API methods but does not
16
16
  handle reconnection gracefully. net-http-persistent supports reconnection
17
- according to RFC 2616.
17
+ and retry according to RFC 2616.
18
18
 
19
19
  == FEATURES/PROBLEMS:
20
20
 
21
21
  * Supports SSL
22
22
  * Thread-safe
23
23
  * Pure ruby
24
- * Timeout-less speed boost for 1.8 (by Aaron Patterson)
24
+ * Timeout-less speed boost for Ruby 1.8 (by Aaron Patterson)
25
25
 
26
26
  == INSTALL:
27
27
 
@@ -1,4 +1,5 @@
1
1
  require 'net/http'
2
+ require 'net/https'
2
3
  require 'net/http/faster'
3
4
  require 'uri'
4
5
  require 'cgi' # for escaping
@@ -42,7 +43,7 @@ class Net::HTTP::Persistent
42
43
  ##
43
44
  # The version of Net::HTTP::Persistent use are using
44
45
 
45
- VERSION = '1.8'
46
+ VERSION = '1.8.1'
46
47
 
47
48
  ##
48
49
  # Error class for errors raised by Net::HTTP::Persistent. Various
@@ -435,7 +436,7 @@ class Net::HTTP::Persistent
435
436
  retry
436
437
  rescue IOError, EOFError, Timeout::Error,
437
438
  Errno::ECONNABORTED, Errno::ECONNRESET, Errno::EPIPE,
438
- Errno::EINVAL => e
439
+ Errno::EINVAL, OpenSSL::SSL::SSLError => e
439
440
 
440
441
  if retried or not can_retry? req
441
442
  due_to = "(due to #{e.message} - #{e.class})"
@@ -506,7 +507,6 @@ class Net::HTTP::Persistent
506
507
  # Enables SSL on +connection+
507
508
 
508
509
  def ssl connection
509
- require 'net/https'
510
510
  connection.use_ssl = true
511
511
 
512
512
  # suppress warning but allow override
@@ -473,6 +473,19 @@ class TestNetHttpPersistent < MiniTest::Unit::TestCase
473
473
  assert_match %r%connection refused%, e.message
474
474
  end
475
475
 
476
+ def test_ssl_error
477
+ uri = URI.parse 'https://example.com/path'
478
+ c = @http.connection_for uri
479
+ def c.request(*)
480
+ raise OpenSSL::SSL::SSLError, "SSL3_WRITE_PENDING:bad write retry"
481
+ end
482
+
483
+ e = assert_raises Net::HTTP::Persistent::Error do
484
+ @http.request uri
485
+ end
486
+ assert_match %r%bad write retry%, e.message
487
+ end
488
+
476
489
  def test_request
477
490
  @http.headers['user-agent'] = 'test ua'
478
491
  c = connection
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net-http-persistent
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 53
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 8
9
- version: "1.8"
9
+ - 1
10
+ version: 1.8.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Eric Hodel
@@ -35,7 +36,7 @@ cert_chain:
35
36
  x52qPcexcYZR7w==
36
37
  -----END CERTIFICATE-----
37
38
 
38
- date: 2011-06-27 00:00:00 Z
39
+ date: 2011-08-09 00:00:00 Z
39
40
  dependencies:
40
41
  - !ruby/object:Gem::Dependency
41
42
  name: minitest
@@ -69,8 +70,8 @@ dependencies:
69
70
  type: :development
70
71
  version_requirements: *id002
71
72
  description: |-
72
- Manages persistent connections using Net::HTTP plus a speed fix for 1.8. It's
73
- thread-safe too!
73
+ Manages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8.
74
+ It's thread-safe too!
74
75
 
75
76
  Using persistent HTTP connections can dramatically increase the speed of HTTP.
76
77
  Creating a new HTTP connection for every request involves an extra TCP
@@ -78,7 +79,7 @@ description: |-
78
79
 
79
80
  Net::HTTP supports persistent connections with some API methods but does not
80
81
  handle reconnection gracefully. net-http-persistent supports reconnection
81
- according to RFC 2616.
82
+ and retry according to RFC 2616.
82
83
  email:
83
84
  - drbrain@segment7.net
84
85
  executables: []
@@ -99,9 +100,11 @@ files:
99
100
  - lib/net/http/faster.rb
100
101
  - lib/net/http/persistent.rb
101
102
  - test/test_net_http_persistent.rb
102
- homepage: http://seattlerb.rubyforge.org/net-http-persistent
103
+ homepage: http://docs.seattlerb.org/net-http-persistent
103
104
  licenses: []
104
105
 
106
+ metadata: {}
107
+
105
108
  post_install_message:
106
109
  rdoc_options:
107
110
  - --main
@@ -129,9 +132,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
132
  requirements: []
130
133
 
131
134
  rubyforge_project: net-http-persistent
132
- rubygems_version: 1.8.5
135
+ rubygems_version: 1.8.6
133
136
  signing_key:
134
- specification_version: 3
135
- summary: Manages persistent connections using Net::HTTP plus a speed fix for 1.8
137
+ specification_version: 4
138
+ summary: Manages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8
136
139
  test_files:
137
140
  - test/test_net_http_persistent.rb
metadata.gz.sig CHANGED
Binary file