Method: WWMD::ViewState#deserialize
- Defined in:
- lib/wwmd/viewstate/viewstate.rb
#deserialize(b64 = nil) ⇒ Object Also known as: parse
deserialize
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/wwmd/viewstate/viewstate.rb', line 37 def deserialize(b64=nil) @obj_queue = [] @b64 = b64 if b64 @raw = @b64.b64d @buf = StringIO.new(@raw) @size = @buf.size raise "Invalid ViewState" if not self.magic? @obj_queue << self.deserialize_value if (@buf.size - @buf.pos) == 20 then @mac = @buf.read(20) dlog(0x00,"MAC = #{@mac.hexify}") end raise "Error Parsing Viewstate (left: #{@buf.size - @buf.pos})" if not (@buf.size - @buf.pos) == 0 return !self.raw.nil? end |