docs: def on_receive(self, message=None, wire=None, event_origin=None):
  
          """
          event handler bound to the receive event of the
          link the server is wired too.
  
          Arguments:
              - message (message.Message): incoming message
  
          Keyword arguments:
              - event_origin (connection.Link)
          """
  
          self.trigger("before_call", message)
  
          fn_name = message.data
          pmsg = self.prepare_message
  
          try:
              for handler in self.handlers:
                  handler.incoming(message, self)
  
              fn = self.get_function(fn_name, message.path)
          except Exception as inst:
              wire.respond(message, ErrorMessage(str(inst)))
              return
  
          if callable(fn) and getattr(fn, "exposed", False):
              try:
                  r = fn(*message.args, **message.kwargs)
                  if isinstance(r,Message):
                      wire.respond(message, pmsg(r))
                  else:
                      wire.respond(message, pmsg(Message(r)))
              except Exception as inst:
                  if self.debug:
                      wire.respond(message, pmsg(ErrorMessage(str(traceback.format_exc()))))
                  else:
                      wire.respond(message, pmsg(ErrorMessage(str(inst))))
          else:
              wire.respond(
                  message,
                  pmsg(
                      ErrorMessage("action '%s' not exposed on API (%s)" % (fn_name, self.__class__.__name__)))
                  )
  
          self.trigger("after_call", message)