50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'lib/nodex_pay/transport.rb', line 50
def call(request)
http = Net::HTTP.new(request.uri.host, request.uri.port)
http.use_ssl = request.uri.scheme == "https"
http.verify_mode = OpenSSL::SSL::VERIFY_PEER if http.use_ssl?
http.open_timeout = request.open_timeout
http.read_timeout = request.read_timeout
http.write_timeout = request.write_timeout
http.max_retries = 0
net_request = build_request(request)
net_response = http.request(net_request)
Response.new(
status: net_response.code.to_i,
headers: (net_response),
body: net_response.body.to_s
)
rescue Net::OpenTimeout, Net::ReadTimeout, Net::WriteTimeout => error
raise TimeoutError.new("Nodex Pay request timed out for #{safe_target(request.uri)}"), cause: error
rescue SocketError, SystemCallError, IOError, EOFError, OpenSSL::SSL::SSLError => error
raise TransportError.new("Nodex Pay request failed for #{safe_target(request.uri)}"), cause: error
end
|