class ActiveMessaging::Adapters::Sqs::SQSResponse
Attributes
doc[RW]
headers[RW]
http_response[RW]
Public Class Methods
new(response)
click to toggle source
# File lib/activemessaging/adapters/sqs.rb, line 376 def initialize response # puts "response.body = #{response.body}" @http_response = response @headers = response.to_hash() @doc = REXML::Document.new(response.body) end
Public Instance Methods
each_node(xp) { |n| ... }
click to toggle source
# File lib/activemessaging/adapters/sqs.rb, line 411 def each_node(xp) REXML::XPath.each(doc.root, xp) {|n| yield n} end
errors()
click to toggle source
# File lib/activemessaging/adapters/sqs.rb, line 391 def errors return "HTTP Error: #{http_response.code} : #{http_response.message}" unless http_response.kind_of?(Net::HTTPSuccess) msg = nil each_node('//Error') { |n| msg ||= "" c = n.elements['Code'].text m = n.elements['Message'].text msg << ", " if msg != "" msg << "#{c} : #{m}" } return msg end
errors?()
click to toggle source
# File lib/activemessaging/adapters/sqs.rb, line 387 def errors? (not http_response.kind_of?(Net::HTTPSuccess)) or (message_type == 'ErrorResponse') end
get_text(xpath,default='')
click to toggle source
# File lib/activemessaging/adapters/sqs.rb, line 406 def get_text(xpath,default='') e = REXML::XPath.first( doc, xpath) e.nil? ? default : e.text end
message_type()
click to toggle source
# File lib/activemessaging/adapters/sqs.rb, line 383 def message_type return doc ? doc.root.name : '' end
nodes(xp)
click to toggle source
# File lib/activemessaging/adapters/sqs.rb, line 415 def nodes(xp) doc.elements.to_a(xp) end