8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/cash_poster/transaction.rb', line 8
def execute(request)
uri = Transaction.parsed_uri
if proxy = CashPoster::Config.proxy
http = Net::HTTP::Proxy(proxy[:host], proxy[:port]).new(uri.host, uri.port)
else
http = Net::HTTP.new(uri.host, uri.port)
end
http.use_ssl = true
http.ssl_version = 'SSLv3'
http_req = Net::HTTP::Post.new(uri.path)
http_req.body = request.params.to_query
http_res = http.request(http_req)
case http_res
when Net::HTTPSuccess
CashPoster::Response.parse(http_res.body)
.tap { |res| res.request = request }
else
raise CashPoster::Error
end
end
|