class CcbConnectClient::Service::Handler
Public Instance Methods
response_handler(request, response)
click to toggle source
# File lib/ccb_connect_client/service.rb, line 20 def response_handler(request, response) res = http_post_form CcbConnectClient.server, request.to_xml doc = Document.new(res.body) if doc.elements["TX/RETURN_CODE"].text != "000000" result = BaseResponse.from_xml res.body result.successful = false else result = response.from_xml res.body result.successful = true end result end
Private Instance Methods
http_post_form(url, xml)
click to toggle source
# File lib/ccb_connect_client/service.rb, line 36 def http_post_form(url, xml) uri = URI.parse(url) req = Net::HTTP::Post.new(uri) req["Content-Type"] = "application/x-www-form-urlencoded" # We don't accpet gzip encoding since the http.request method will raise the EOF error req["Accept-Encoding"] = "identity" res = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http| if CcbConnectClient.debug_mode && CcbConnectClient.logger CcbConnectClient.logger.debug("CCB Connect requset xml : #{xml}") end req.set_form_data('requestXml' => xml) http.request req end if CcbConnectClient.debug_mode && CcbConnectClient.logger CcbConnectClient.logger.debug("CCB Connect response: #{res.body}") end res end