Class: ActiveMessaging::Adapters::AmazonSqs::SQSResponse
- Inherits:
-
Object
- Object
- ActiveMessaging::Adapters::AmazonSqs::SQSResponse
- Defined in:
- lib/activemessaging/adapters/asqs.rb
Instance Attribute Summary collapse
-
#doc ⇒ Object
Returns the value of attribute doc.
-
#headers ⇒ Object
Returns the value of attribute headers.
-
#http_response ⇒ Object
Returns the value of attribute http_response.
Instance Method Summary collapse
- #each_node(xp) ⇒ Object
- #errors ⇒ Object
- #errors? ⇒ Boolean
- #get_text(xpath, default = '') ⇒ Object
-
#initialize(response) ⇒ SQSResponse
constructor
A new instance of SQSResponse.
- #message_type ⇒ Object
- #nodes(xp) ⇒ Object
Constructor Details
#initialize(response) ⇒ SQSResponse
Returns a new instance of SQSResponse.
383 384 385 386 387 388 |
# File 'lib/activemessaging/adapters/asqs.rb', line 383 def initialize response # puts "response.body = #{response.body}" @http_response = response @headers = response.to_hash() @doc = REXML::Document.new(response.body) end |
Instance Attribute Details
#doc ⇒ Object
Returns the value of attribute doc.
381 382 383 |
# File 'lib/activemessaging/adapters/asqs.rb', line 381 def doc @doc end |
#headers ⇒ Object
Returns the value of attribute headers.
381 382 383 |
# File 'lib/activemessaging/adapters/asqs.rb', line 381 def headers @headers end |
#http_response ⇒ Object
Returns the value of attribute http_response.
381 382 383 |
# File 'lib/activemessaging/adapters/asqs.rb', line 381 def http_response @http_response end |
Instance Method Details
#each_node(xp) ⇒ Object
418 419 420 |
# File 'lib/activemessaging/adapters/asqs.rb', line 418 def each_node(xp) REXML::XPath.each(doc.root, xp) {|n| yield n} end |
#errors ⇒ Object
398 399 400 401 402 403 404 405 406 407 408 409 410 411 |
# File 'lib/activemessaging/adapters/asqs.rb', line 398 def errors return "HTTP Error: #{http_response.code} : #{http_response.}" 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? ⇒ Boolean
394 395 396 |
# File 'lib/activemessaging/adapters/asqs.rb', line 394 def errors? (not http_response.kind_of?(Net::HTTPSuccess)) or ( == "ErrorResponse") end |
#get_text(xpath, default = '') ⇒ Object
413 414 415 416 |
# File 'lib/activemessaging/adapters/asqs.rb', line 413 def get_text(xpath,default='') e = REXML::XPath.first( doc, xpath) e.nil? ? default : e.text end |
#message_type ⇒ Object
390 391 392 |
# File 'lib/activemessaging/adapters/asqs.rb', line 390 def return doc ? doc.root.name : '' end |
#nodes(xp) ⇒ Object
422 423 424 |
# File 'lib/activemessaging/adapters/asqs.rb', line 422 def nodes(xp) doc.elements.to_a(xp) end |