class EventMachine::Protocols::Stomp::Message
Attributes
body[RW]
Body of the message
command[RW]
The command associated with the message, usually 'CONNECTED' or 'MESSAGE'
header[RW]
Hash containing headers such as destination and message-id
headers[RW]
Hash containing headers such as destination and message-id
Public Class Methods
new()
click to toggle source
@private
# File lib/em/protocols/stomp.rb, line 68 def initialize @header = {} @state = :precommand @content_length = nil end
Public Instance Methods
consume_line(line) { |:sized_text, content_length+1| ... }
click to toggle source
@private
# File lib/em/protocols/stomp.rb, line 74 def consume_line line if @state == :precommand unless line =~ /\A\s*\Z/ @command = line @state = :headers end elsif @state == :headers if line == "" if @content_length yield( [:sized_text, @content_length+1] ) else @state = :body yield( [:unsized_text] ) end elsif line =~ /\A([^:]+):(.+)\Z/ k = $1.dup.strip v = $2.dup.strip @header[k] = v if k == "content-length" @content_length = v.to_i end else # This is a protocol error. How to signal it? end elsif @state == :body @body = line yield( [:dispatch] ) end end