excon 0.15.3 → 0.15.4

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of excon might be problematic. Click here for more details.

@@ -1,3 +1,8 @@
1
+ 0.15.4 07/16/12
2
+ ===============
3
+
4
+ rescue/retry nonblock errors from readline (even though they shouldn't occur)
5
+
1
6
  0.15.3 07/16/12
2
7
  ===============
3
8
 
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
13
13
  ## If your rubyforge_project name is different, then edit it and comment out
14
14
  ## the sub! line in the Rakefile
15
15
  s.name = 'excon'
16
- s.version = '0.15.3'
17
- s.date = '2012-07-17'
16
+ s.version = '0.15.4'
17
+ s.date = '2012-07-18'
18
18
  s.rubyforge_project = 'excon'
19
19
 
20
20
  ## Make sure your summary is short. The description may be as long
@@ -1,6 +1,6 @@
1
1
  module Excon
2
2
  unless const_defined?(:VERSION)
3
- VERSION = '0.15.3'
3
+ VERSION = '0.15.4'
4
4
  end
5
5
 
6
6
  unless const_defined?(:CHUNK_SIZE)
@@ -106,6 +106,31 @@ module Excon
106
106
  end
107
107
  end
108
108
 
109
+ def readline
110
+ return nil if @eof
111
+
112
+ begin
113
+ @socket.readline
114
+ rescue OpenSSL::SSL::SSLError => error
115
+ if error.message == 'read would block'
116
+ if IO.select([@socket], nil, nil, @params[:read_timeout])
117
+ retry
118
+ else
119
+ raise(Excon::Errors::Timeout.new("read timeout reached"))
120
+ end
121
+ end
122
+ rescue Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable
123
+ if IO.select([@socket], nil, nil, @params[:read_timeout])
124
+ retry
125
+ else
126
+ raise(Excon::Errors::Timeout.new("read timeout reached"))
127
+ end
128
+ rescue EOFError
129
+ @eof = true
130
+ nil
131
+ end
132
+ end
133
+
109
134
  def write(data)
110
135
  # We normally return from the return in the else block below, but
111
136
  # we guard that data is still something in case we get weird
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: excon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.3
4
+ version: 0.15.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-07-17 00:00:00.000000000 Z
14
+ date: 2012-07-18 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activesupport
18
- requirement: &70352714588600 !ruby/object:Gem::Requirement
18
+ requirement: &70201249148480 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: '0'
24
24
  type: :development
25
25
  prerelease: false
26
- version_requirements: *70352714588600
26
+ version_requirements: *70201249148480
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: delorean
29
- requirement: &70352714588000 !ruby/object:Gem::Requirement
29
+ requirement: &70201249147600 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
- version_requirements: *70352714588000
37
+ version_requirements: *70201249147600
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: open4
40
- requirement: &70352714587420 !ruby/object:Gem::Requirement
40
+ requirement: &70201249145740 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: '0'
46
46
  type: :development
47
47
  prerelease: false
48
- version_requirements: *70352714587420
48
+ version_requirements: *70201249145740
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: rake
51
- requirement: &70352714586660 !ruby/object:Gem::Requirement
51
+ requirement: &70201249137360 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ! '>='
@@ -56,10 +56,10 @@ dependencies:
56
56
  version: '0'
57
57
  type: :development
58
58
  prerelease: false
59
- version_requirements: *70352714586660
59
+ version_requirements: *70201249137360
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: rdoc
62
- requirement: &70352714585720 !ruby/object:Gem::Requirement
62
+ requirement: &70201249128100 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ! '>='
@@ -67,10 +67,10 @@ dependencies:
67
67
  version: '0'
68
68
  type: :development
69
69
  prerelease: false
70
- version_requirements: *70352714585720
70
+ version_requirements: *70201249128100
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: shindo
73
- requirement: &70352714584600 !ruby/object:Gem::Requirement
73
+ requirement: &70201249123000 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ! '>='
@@ -78,10 +78,10 @@ dependencies:
78
78
  version: '0'
79
79
  type: :development
80
80
  prerelease: false
81
- version_requirements: *70352714584600
81
+ version_requirements: *70201249123000
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: sinatra
84
- requirement: &70352714583780 !ruby/object:Gem::Requirement
84
+ requirement: &70201249117960 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
87
  - - ! '>='
@@ -89,7 +89,7 @@ dependencies:
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
- version_requirements: *70352714583780
92
+ version_requirements: *70201249117960
93
93
  description: EXtended http(s) CONnections
94
94
  email: geemus@gmail.com
95
95
  executables: []
@@ -166,6 +166,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
166
166
  - - ! '>='
167
167
  - !ruby/object:Gem::Version
168
168
  version: '0'
169
+ segments:
170
+ - 0
171
+ hash: -3281686677193752386
169
172
  required_rubygems_version: !ruby/object:Gem::Requirement
170
173
  none: false
171
174
  requirements: