dcu-typhoeus 0.4.1 → 0.4.2
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/typhoeus/form.rb +2 -1
- data/lib/typhoeus/remote.rb +6 -3
- data/lib/typhoeus/utils.rb +4 -2
- data/lib/typhoeus/version.rb +1 -1
- metadata +66 -21
data/lib/typhoeus/form.rb
CHANGED
@@ -6,7 +6,8 @@ module Typhoeus
|
|
6
6
|
attr_reader :first, :traversal
|
7
7
|
|
8
8
|
def initialize(params = {})
|
9
|
-
|
9
|
+
# ideally we should escape params here with Typhoeus::Utils.escape_params. I don't do it in this commit because I don't know the implications yet.
|
10
|
+
@params = params
|
10
11
|
@first = ::FFI::MemoryPointer.new(:pointer)
|
11
12
|
@last = ::FFI::MemoryPointer.new(:pointer)
|
12
13
|
|
data/lib/typhoeus/remote.rb
CHANGED
@@ -177,7 +177,7 @@ module Typhoeus
|
|
177
177
|
unless mock_object.nil?
|
178
178
|
decode_nil_response(mock_object)
|
179
179
|
else
|
180
|
-
enforce_allow_net_connect!(:#{method.to_s}, url, options[:params])
|
180
|
+
enforce_allow_net_connect!(:#{method.to_s}, url, Typhoeus::Utils.escape_params(options[:params]))
|
181
181
|
remote_proxy_object(url, :#{method.to_s}, options)
|
182
182
|
end
|
183
183
|
end
|
@@ -192,7 +192,7 @@ module Typhoeus
|
|
192
192
|
easy.method = method
|
193
193
|
easy.headers = options[:headers] if options.has_key?(:headers)
|
194
194
|
easy.headers["User-Agent"] = (options[:user_agent] || Typhoeus::USER_AGENT)
|
195
|
-
easy.params = options[:params] if options[:params]
|
195
|
+
easy.params = Typhoeus::Utils.escape_params(options[:params]) if options[:params]
|
196
196
|
easy.request_body = options[:body] if options[:body]
|
197
197
|
easy.timeout = options[:timeout] if options[:timeout]
|
198
198
|
easy.follow_location = options[:follow_location] if options[:follow_location]
|
@@ -285,7 +285,10 @@ module Typhoeus
|
|
285
285
|
args[:base_uri] ||= @remote_defaults[:base_uri]
|
286
286
|
args[:path] ||= @remote_defaults[:path]
|
287
287
|
args[:follow_location] ||= @remote_defaults[:follow_location]
|
288
|
-
args[:
|
288
|
+
args[:max_redirects] ||= @remote_defaults[:max_redirects]
|
289
|
+
args[:params] ||= @remote_defaults[:params]
|
290
|
+
args[:username] ||= @remote_defaults[:username]
|
291
|
+
args[:password] ||= @remote_defaults[:password]
|
289
292
|
m = RemoteMethod.new(args)
|
290
293
|
|
291
294
|
@remote_methods ||= {}
|
data/lib/typhoeus/utils.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'cgi'
|
2
|
+
|
1
3
|
module Typhoeus
|
2
4
|
module Utils
|
3
5
|
# Taken from Rack::Utils, 1.2.1 to remove Rack dependency.
|
@@ -10,7 +12,7 @@ module Typhoeus
|
|
10
12
|
|
11
13
|
def escape_params(params)
|
12
14
|
traverse_params_hash(params)[:params].inject({}) do |memo, (k, v)|
|
13
|
-
memo[escape(k)] = escape(v)
|
15
|
+
memo[escape(k)] = CGI.escape(v)
|
14
16
|
memo
|
15
17
|
end
|
16
18
|
end
|
@@ -24,7 +26,7 @@ module Typhoeus
|
|
24
26
|
|
25
27
|
def traversal_to_param_string(traversal, escape = true)
|
26
28
|
traversal[:params].collect { |param|
|
27
|
-
escape ? "#{Typhoeus::Utils.escape(param[0])}=#{
|
29
|
+
escape ? "#{Typhoeus::Utils.escape(param[0])}=#{CGI.escape(param[1])}" : "#{param[0]}=#{param[1]}"
|
28
30
|
}.join('&')
|
29
31
|
end
|
30
32
|
module_function :traversal_to_param_string
|
data/lib/typhoeus/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dcu-typhoeus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
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-
|
14
|
+
date: 2012-08-21 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: ffi
|
18
|
-
requirement:
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ~>
|
@@ -23,10 +23,15 @@ dependencies:
|
|
23
23
|
version: '1.0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements:
|
26
|
+
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
28
|
+
requirements:
|
29
|
+
- - ~>
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: '1.0'
|
27
32
|
- !ruby/object:Gem::Dependency
|
28
33
|
name: mime-types
|
29
|
-
requirement:
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
30
35
|
none: false
|
31
36
|
requirements:
|
32
37
|
- - ~>
|
@@ -34,10 +39,15 @@ dependencies:
|
|
34
39
|
version: '1.18'
|
35
40
|
type: :runtime
|
36
41
|
prerelease: false
|
37
|
-
version_requirements:
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.18'
|
38
48
|
- !ruby/object:Gem::Dependency
|
39
49
|
name: activesupport
|
40
|
-
requirement:
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
41
51
|
none: false
|
42
52
|
requirements:
|
43
53
|
- - ~>
|
@@ -45,10 +55,15 @@ dependencies:
|
|
45
55
|
version: '3.2'
|
46
56
|
type: :runtime
|
47
57
|
prerelease: false
|
48
|
-
version_requirements:
|
58
|
+
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ~>
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '3.2'
|
49
64
|
- !ruby/object:Gem::Dependency
|
50
65
|
name: sinatra
|
51
|
-
requirement:
|
66
|
+
requirement: !ruby/object:Gem::Requirement
|
52
67
|
none: false
|
53
68
|
requirements:
|
54
69
|
- - ~>
|
@@ -56,10 +71,15 @@ dependencies:
|
|
56
71
|
version: '1.3'
|
57
72
|
type: :development
|
58
73
|
prerelease: false
|
59
|
-
version_requirements:
|
74
|
+
version_requirements: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ~>
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '1.3'
|
60
80
|
- !ruby/object:Gem::Dependency
|
61
81
|
name: json
|
62
|
-
requirement:
|
82
|
+
requirement: !ruby/object:Gem::Requirement
|
63
83
|
none: false
|
64
84
|
requirements:
|
65
85
|
- - ~>
|
@@ -67,10 +87,15 @@ dependencies:
|
|
67
87
|
version: '1.7'
|
68
88
|
type: :development
|
69
89
|
prerelease: false
|
70
|
-
version_requirements:
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - ~>
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '1.7'
|
71
96
|
- !ruby/object:Gem::Dependency
|
72
97
|
name: rake
|
73
|
-
requirement:
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
74
99
|
none: false
|
75
100
|
requirements:
|
76
101
|
- - ~>
|
@@ -78,10 +103,15 @@ dependencies:
|
|
78
103
|
version: '0.9'
|
79
104
|
type: :development
|
80
105
|
prerelease: false
|
81
|
-
version_requirements:
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
108
|
+
requirements:
|
109
|
+
- - ~>
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0.9'
|
82
112
|
- !ruby/object:Gem::Dependency
|
83
113
|
name: mocha
|
84
|
-
requirement:
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
85
115
|
none: false
|
86
116
|
requirements:
|
87
117
|
- - ~>
|
@@ -89,10 +119,15 @@ dependencies:
|
|
89
119
|
version: '0.10'
|
90
120
|
type: :development
|
91
121
|
prerelease: false
|
92
|
-
version_requirements:
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
124
|
+
requirements:
|
125
|
+
- - ~>
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0.10'
|
93
128
|
- !ruby/object:Gem::Dependency
|
94
129
|
name: rspec
|
95
|
-
requirement:
|
130
|
+
requirement: !ruby/object:Gem::Requirement
|
96
131
|
none: false
|
97
132
|
requirements:
|
98
133
|
- - ~>
|
@@ -100,10 +135,15 @@ dependencies:
|
|
100
135
|
version: '2.10'
|
101
136
|
type: :development
|
102
137
|
prerelease: false
|
103
|
-
version_requirements:
|
138
|
+
version_requirements: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - ~>
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '2.10'
|
104
144
|
- !ruby/object:Gem::Dependency
|
105
145
|
name: guard-rspec
|
106
|
-
requirement:
|
146
|
+
requirement: !ruby/object:Gem::Requirement
|
107
147
|
none: false
|
108
148
|
requirements:
|
109
149
|
- - ~>
|
@@ -111,7 +151,12 @@ dependencies:
|
|
111
151
|
version: '0.6'
|
112
152
|
type: :development
|
113
153
|
prerelease: false
|
114
|
-
version_requirements:
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
none: false
|
156
|
+
requirements:
|
157
|
+
- - ~>
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0.6'
|
115
160
|
description: Like a modern code version of the mythical beast with 100 serpent heads,
|
116
161
|
Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling logic.
|
117
162
|
email: hans.hasselberg@gmail.com
|
@@ -171,7 +216,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
216
|
version: 1.3.6
|
172
217
|
requirements: []
|
173
218
|
rubyforge_project: ! '[none]'
|
174
|
-
rubygems_version: 1.8.
|
219
|
+
rubygems_version: 1.8.24
|
175
220
|
signing_key:
|
176
221
|
specification_version: 3
|
177
222
|
summary: Parallel HTTP library on top of libcurl multi.
|