class RabbitRPC::RequestHandler
Attributes
one_way[R]
Public Class Methods
new(serialized_message)
click to toggle source
# File lib/rabbit_rpc/request_handler.rb, line 7 def initialize(serialized_message) @message = Message.unpack serialized_message end
Public Instance Methods
execute()
click to toggle source
# File lib/rabbit_rpc/request_handler.rb, line 11 def execute parser = MessageParser.new(@message) parser.parse @one_way = parser.one_way? logger.info "Received message #{@message}" Kernel.const_get(parser.service_name).send(parser.method_name, *@message['args'] ) rescue ArgumentError => e log_exception(e) { ok: false, message: e.message } rescue Exception => e log_exception(e) exception_response end
Private Instance Methods
exception_response()
click to toggle source
We do not want to return the actual exceptions back TODO: Perhaps have this user defined?
# File lib/rabbit_rpc/request_handler.rb, line 32 def exception_response { ok: false, message: 'Error processing request' } end