class AuthorizeNet::Request
¶ ↑
This class represents a request to the Authorize.Net API
Add any logic that applies to ALL requests here
¶ ↑
Attributes
response[RW]
Public Class Methods
new(type, data, uri)
click to toggle source
# File lib/authorize_net/request.rb, line 13 def initialize(type, data, uri) @xml_data = data @request_type = type @uri = URI(uri) @response = nil end
Public Instance Methods
getRequest()
click to toggle source
postRequest()
click to toggle source
¶ ↑
Uses the given data to make a POST request
¶ ↑
# File lib/authorize_net/request.rb, line 23 def postRequest assertRequestData assertRequestType req = Net::HTTP::Post.new(@uri.request_uri) req.add_field('Content-Type', 'text/xml') req.body = buildXmlRequest @response = sendRequest(req) return @response end
Private Instance Methods
assertRequestData()
click to toggle source
# File lib/authorize_net/request.rb, line 59 def assertRequestData if @xml_data.nil? raise "AuthorizeRequest has no xml data" end end
assertRequestType()
click to toggle source
# File lib/authorize_net/request.rb, line 65 def assertRequestType if @request_type.nil? raise "AuthorizeRequest has no request type" end end
buildXmlRequest()
click to toggle source
¶ ↑
Builds the full XML request using request type and the xml data object
¶ ↑
# File lib/authorize_net/request.rb, line 75 def buildXmlRequest xml_string = AuthorizeNet::XML_HEADER xml_string += "<#{@request_type} xmlns=\"#{AuthorizeNet::XML_SCHEMA}\">" xml_string += AuthorizeNet::Util.buildXmlFromObject(@xml_data) xml_string += "</#{@request_type}>" return xml_string end