class Epayments::Request
Public Class Methods
check_response(response)
click to toggle source
# File lib/epayments/request.rb, line 40 def check_response(response) return unless response.class == Net::HTTPBadRequest raise "Bad request! Response code: #{response.code}, body: #{response.body}" end
perform(method, uri, headers, body)
click to toggle source
# File lib/epayments/request.rb, line 10 def perform(method, uri, headers, body) raise "Unsupported method #{method}" unless %w[post get].include?(method.to_s) http = prepare_http(uri) request = prepare_request(method, uri, headers, body) response = http.request(request) check_response(response) JSON.parse(response.body) end
prepare_http(uri)
click to toggle source
# File lib/epayments/request.rb, line 20 def prepare_http(uri) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE http end
prepare_request(method, uri, headers, body)
click to toggle source
# File lib/epayments/request.rb, line 28 def prepare_request(method, uri, headers, body) request = "Net::HTTP::#{method.capitalize}".constantize.new(uri.request_uri) request.body = body set_headers(request, headers) request end
set_headers(request, headers)
click to toggle source
# File lib/epayments/request.rb, line 36 def set_headers(request, headers) headers.each { |key, value| request[key] = value } end