=begin This file is part of the Arachni-RPC project and may be subject to redistribution and commercial restrictions. Please see the Arachni-RPC web site for more information on licensing and terms of use. =end module Arachni module RPC # Represents an RPC response. # # It's here only for formalization purposes, it's not actually sent over the wire. # # What is sent is a hash generated by {#prepare_for_tx} which is in the form of: # # { # # result of the RPC call # 'obj' => object # } # # @author Tasos "Zapotek" Laskos class Response < Message # @return [Object] # Return object of the {Request#message}. attr_accessor :obj # @return [Hash] # # { # "name" => "Trying to access non-existent object 'blah'.", # "backtrace" => [ # [0] "/home/zapotek/workspace/arachni-rpc/lib/arachni/rpc/server.rb:285:in `call'", # [1] "/home/zapotek/workspace/arachni-rpc/lib/arachni/rpc/server.rb:85:in `block in receive_object'", # ], # "type" => "InvalidObject" # } # # For all available exception types look at {Exceptions}. attr_accessor :exception def exception? !!exception end def async? !!@async end def async! @async = true end private def transmit?( attr ) ![:@async].include?( attr ) end end end end