class Fluent::Plugin::MNS::Message
Attributes
body[R]
body_md5[R]
dequeue_count[R]
enqueue_at[R]
first_enqueue_at[R]
id[R]
next_visible_at[R]
priority[R]
queue[R]
receipt_handle[R]
Public Class Methods
new(queue, content)
click to toggle source
# File lib/fluent/plugin/mns/message.rb, line 13 def initialize(queue, content) @queue = queue doc = Document.new(content) doc.elements[1].each do |e| if e.node_type == :element if e.name == 'MessageId' @id = e.text elsif e.name == 'MessageBodyMD5' @body_md5 = e.text elsif e.name == 'MessageBody' @body = e.text elsif e.name == 'EnqueueTime' @enqueue_at = e.text.to_i elsif e.name == 'FirstDequeueTime' @first_enqueue_at = e.text.to_i elsif e.name == 'DequeueCount' @dequeue_count = e.text.to_i elsif e.name == 'Priority' @priority = e.text.to_i elsif e.name == 'ReceiptHandle' @receipt_handle = e.text elsif e.name == 'NextVisibleTime' @next_visible_at = e.text.to_i end end end # verify body md5 = Digest::MD5.hexdigest(body).upcase unless md5 == body_md5 raise Exception, 'Invalid MNS Body, MD5 does not match, '\ "MD5 #{body_md5}, expect MD5 #{md5}, Body: #{body}" end end