File tree Expand file tree Collapse file tree 1 file changed +25
-1
lines changed Expand file tree Collapse file tree 1 file changed +25
-1
lines changed Original file line number Diff line number Diff line change
1
+ require 'cgi'
1
2
require 'net/http'
2
3
require 'net/https'
3
4
require 'json'
@@ -16,7 +17,13 @@ def execute(method, params)
16
17
request_params = params . merge ( :key => configuration . api_key )
17
18
18
19
request = Net ::HTTP ::Post . new ( request_uri ( method ) )
19
- request . set_form_data ( request_params )
20
+
21
+ if RUBY_VERSION == '1.8.7'
22
+ set_form_data_18 ( request , request_params )
23
+ else
24
+ request . set_form_data ( request_params )
25
+ end
26
+
20
27
request . add_field ( 'User-Agent' , configuration . user_agent )
21
28
22
29
response = http . request ( request )
@@ -63,5 +70,22 @@ def setup_http_connection
63
70
64
71
http
65
72
end
73
+
74
+ def set_form_data_18 ( request , params , sep = '&' )
75
+ request . body = params . map { |k , v |
76
+ if v . instance_of? ( Array )
77
+ v . map { |e | "#{ urlencode ( k . to_s ) } =#{ urlencode ( e . to_s ) } " } . join ( sep )
78
+ else
79
+ "#{ urlencode ( k . to_s ) } =#{ urlencode ( v . to_s ) } "
80
+ end
81
+ } . join ( sep )
82
+
83
+ request . content_type = 'application/x-www-form-urlencoded'
84
+ end
85
+
86
+ def urlencode ( str )
87
+ CGI ::escape ( str )
88
+ end
89
+
66
90
end
67
91
end
You can’t perform that action at this time.
0 commit comments