patron 0.4.13 → 0.4.14
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/lib/patron/request.rb +1 -1
- data/lib/patron/session.rb +2 -2
- data/lib/patron/version.rb +1 -1
- data/patron.gemspec +1 -1
- data/script/test_server +9 -0
- data/spec/session_spec.rb +14 -0
- metadata +3 -3
data/lib/patron/request.rb
CHANGED
@@ -42,7 +42,7 @@ module Patron
|
|
42
42
|
@max_redirects = -1
|
43
43
|
end
|
44
44
|
|
45
|
-
attr_accessor :url, :username, :password, :file_name, :proxy, :proxy_type, :auth_type, :insecure, :
|
45
|
+
attr_accessor :url, :username, :password, :file_name, :proxy, :proxy_type, :auth_type, :insecure, :ignore_content_length, :multipart
|
46
46
|
attr_reader :action, :timeout, :connect_timeout, :max_redirects, :headers, :buffer_size
|
47
47
|
attr_reader :auth_type
|
48
48
|
|
data/lib/patron/session.rb
CHANGED
@@ -69,7 +69,7 @@ module Patron
|
|
69
69
|
attr_accessor :insecure
|
70
70
|
|
71
71
|
# Does this session ignore Content-Size headers?
|
72
|
-
attr_accessor :
|
72
|
+
attr_accessor :ignore_content_length
|
73
73
|
|
74
74
|
# Set the buffer size for this request. This option will
|
75
75
|
# only be set if buffer_size is non-nil
|
@@ -199,7 +199,7 @@ module Patron
|
|
199
199
|
req.proxy_type = proxy_type
|
200
200
|
req.auth_type = auth_type
|
201
201
|
req.insecure = insecure
|
202
|
-
req.
|
202
|
+
req.ignore_content_length = ignore_content_length
|
203
203
|
req.buffer_size = buffer_size
|
204
204
|
|
205
205
|
url = self.base_url.to_s + url.to_s
|
data/lib/patron/version.rb
CHANGED
data/patron.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.summary = "Patron HTTP Client"
|
12
12
|
s.description = "Ruby HTTP client library based on libcurl"
|
13
13
|
|
14
|
-
s.required_rubygems_version = ">= 1.
|
14
|
+
s.required_rubygems_version = ">= 1.2.0"
|
15
15
|
s.rubyforge_project = "patron"
|
16
16
|
|
17
17
|
s.add_development_dependency "bundler", ">= 1.0.0"
|
data/script/test_server
CHANGED
@@ -94,12 +94,21 @@ class RepetitiveHeaderServlet < HTTPServlet::AbstractServlet
|
|
94
94
|
end
|
95
95
|
end
|
96
96
|
|
97
|
+
class WrongContentLengthServlet < HTTPServlet::AbstractServlet
|
98
|
+
def do_GET(req, res)
|
99
|
+
res.keep_alive = false
|
100
|
+
res.content_length = 1024
|
101
|
+
res.body = "Hello."
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
97
105
|
server = WEBrick::HTTPServer.new :Port => 9001
|
98
106
|
server.mount("/test", TestServlet)
|
99
107
|
server.mount("/timeout", TimeoutServlet)
|
100
108
|
server.mount("/redirect", RedirectServlet)
|
101
109
|
server.mount("/setcookie", SetCookieServlet)
|
102
110
|
server.mount("/repetitiveheader", RepetitiveHeaderServlet)
|
111
|
+
server.mount("/wrongcontentlength", WrongContentLengthServlet)
|
103
112
|
|
104
113
|
exit_code = lambda do
|
105
114
|
begin
|
data/spec/session_spec.rb
CHANGED
@@ -210,6 +210,20 @@ describe Patron::Session do
|
|
210
210
|
YAML::load(response).header.should_not include('cookie')
|
211
211
|
end
|
212
212
|
|
213
|
+
it "should ignore a wrong Content-Length when asked to" do
|
214
|
+
lambda {
|
215
|
+
@session.ignore_content_length = true
|
216
|
+
@session.get("/wrongcontentlength")
|
217
|
+
}.should_not raise_error
|
218
|
+
end
|
219
|
+
|
220
|
+
it "should fail by default with a Content-Length too high" do
|
221
|
+
lambda {
|
222
|
+
@session.ignore_content_length = nil
|
223
|
+
@session.get("/wrongcontentlength")
|
224
|
+
}.should raise_error(Patron::PartialFileError)
|
225
|
+
end
|
226
|
+
|
213
227
|
it "should raise exception if cookie store is not writable or readable" do
|
214
228
|
lambda { @session.handle_cookies("/trash/clash/foo") }.should raise_error(ArgumentError)
|
215
229
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: patron
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.4.
|
5
|
+
version: 0.4.14
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Phillip Toland
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-07-
|
13
|
+
date: 2011-07-28 00:00:00 -05:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -117,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
117
|
requirements:
|
118
118
|
- - ">="
|
119
119
|
- !ruby/object:Gem::Version
|
120
|
-
version: 1.
|
120
|
+
version: 1.2.0
|
121
121
|
requirements: []
|
122
122
|
|
123
123
|
rubyforge_project: patron
|