patron 0.4.2 → 0.4.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +6 -3
- data/ext/patron/extconf.rb +2 -0
- data/ext/patron/session_ext.c +10 -0
- data/lib/patron/request.rb +3 -3
- data/lib/patron/session.rb +4 -0
- metadata +2 -2
data/Rakefile
CHANGED
@@ -94,8 +94,8 @@ task :shell => :compile do
|
|
94
94
|
end
|
95
95
|
|
96
96
|
Rake::RDocTask.new do |rdoc|
|
97
|
-
rdoc.rdoc_dir = '
|
98
|
-
rdoc.title =
|
97
|
+
rdoc.rdoc_dir = 'rdoc'
|
98
|
+
rdoc.title = 'Patron documentation'
|
99
99
|
rdoc.main = 'README.txt'
|
100
100
|
rdoc.options << '--line-numbers' << '--inline-source'
|
101
101
|
rdoc.rdoc_files.include('README.txt')
|
@@ -126,6 +126,9 @@ Spec::Rake::SpecTask.new('spec:rcov') do |t|
|
|
126
126
|
t.rcov_opts << '--exclude /Library/Ruby/Gems'
|
127
127
|
end
|
128
128
|
|
129
|
-
Jeweler::RubyforgeTasks.new
|
129
|
+
Jeweler::RubyforgeTasks.new do |t|
|
130
|
+
t.remote_doc_path = ''
|
131
|
+
t.doc_task = :yardoc
|
132
|
+
end
|
130
133
|
|
131
134
|
task :default => :spec
|
data/ext/patron/extconf.rb
CHANGED
data/ext/patron/session_ext.c
CHANGED
@@ -274,6 +274,12 @@ static void set_options_from_request(VALUE self, VALUE request) {
|
|
274
274
|
curl_easy_setopt(curl, CURLOPT_HTTPAUTH, rb_iv_get(request, "@auth_type"));
|
275
275
|
curl_easy_setopt(curl, CURLOPT_USERPWD, StringValuePtr(credentials));
|
276
276
|
}
|
277
|
+
|
278
|
+
VALUE insecure = rb_iv_get(request, "@insecure");
|
279
|
+
if(!NIL_P(insecure)) {
|
280
|
+
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
|
281
|
+
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 1);
|
282
|
+
}
|
277
283
|
}
|
278
284
|
|
279
285
|
// Use the info in a Curl handle to create a new Response object.
|
@@ -334,7 +340,11 @@ static VALUE perform_request(VALUE self) {
|
|
334
340
|
curl_easy_setopt(curl, CURLOPT_WRITEDATA, body_buffer);
|
335
341
|
}
|
336
342
|
|
343
|
+
#ifdef HAVE_TBR
|
344
|
+
CURLcode ret = rb_thread_blocking_region(curl_easy_perform, curl, RUBY_UBF_IO, 0);
|
345
|
+
#else
|
337
346
|
CURLcode ret = curl_easy_perform(curl);
|
347
|
+
#endif
|
338
348
|
if (CURLE_OK == ret) {
|
339
349
|
VALUE response = create_response(curl);
|
340
350
|
if (!NIL_P(body_buffer)) {
|
data/lib/patron/request.rb
CHANGED
@@ -40,7 +40,7 @@ module Patron
|
|
40
40
|
@max_redirects = -1
|
41
41
|
end
|
42
42
|
|
43
|
-
attr_accessor :url, :username, :password, :file_name, :proxy, :auth_type
|
43
|
+
attr_accessor :url, :username, :password, :file_name, :proxy, :auth_type, :insecure
|
44
44
|
attr_reader :action, :timeout, :connect_timeout, :max_redirects, :headers
|
45
45
|
attr_reader :auth_type
|
46
46
|
|
@@ -88,7 +88,7 @@ module Patron
|
|
88
88
|
end
|
89
89
|
|
90
90
|
def timeout=(new_timeout)
|
91
|
-
if new_timeout.to_i < 1
|
91
|
+
if new_timeout && new_timeout.to_i < 1
|
92
92
|
raise ArgumentError, "Timeout must be a positive integer greater than 0"
|
93
93
|
end
|
94
94
|
|
@@ -96,7 +96,7 @@ module Patron
|
|
96
96
|
end
|
97
97
|
|
98
98
|
def connect_timeout=(new_timeout)
|
99
|
-
if new_timeout.to_i < 1
|
99
|
+
if new_timeout && new_timeout.to_i < 1
|
100
100
|
raise ArgumentError, "Timeout must be a positive integer greater than 0"
|
101
101
|
end
|
102
102
|
|
data/lib/patron/session.rb
CHANGED
@@ -60,6 +60,9 @@ module Patron
|
|
60
60
|
# @see Patron::Request#auth_type
|
61
61
|
attr_accessor :auth_type
|
62
62
|
|
63
|
+
# Does this session stricly verify SSL certificates?
|
64
|
+
attr_accessor :insecure
|
65
|
+
|
63
66
|
private :ext_initialize, :handle_request, :enable_cookie_session
|
64
67
|
|
65
68
|
# Create a new Session object.
|
@@ -168,6 +171,7 @@ module Patron
|
|
168
171
|
req.file_name = options[:file]
|
169
172
|
req.proxy = proxy
|
170
173
|
req.auth_type = auth_type
|
174
|
+
req.insecure = insecure
|
171
175
|
|
172
176
|
req.url = self.base_url.to_s + url.to_s
|
173
177
|
raise ArgumentError, "Empty URL" if req.url.empty?
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: patron
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Phillip Toland
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-08-
|
12
|
+
date: 2009-08-30 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|