Skip to content

change(fastapi): rework /rpc (get)

Kevin Morris requested to merge kevr/aurweb:rework-rpc into pu

This reworks the base implementation of the RPC to use a class called RPC for handling of requests. Took a bit of a different approach than PHP in terms of exposed methods, but it does end up achieving the same goal, with one additional error: "Request type '{type}' is not yet implemented."

For FastAPI development, we'll stick with:

  • If the supplied 'type' argument has an alias mapping in RPC.ALIASES, we convert the type argument over to its alias before doing anything. Example: 'info' is aliased to 'multiinfo', so when a user requests type=info, it is converted to type=multiinfo.
  • If the type does not exist in RPC.EXPOSED_TYPES, the following error is produced: "No request type/data specified."
  • If the type does exist in RPC.EXPOSED_TYPES, but does not have an implemented RPC._handle_{type}_type function, the following error is produced: "Request type '{type}' is not yet implemented."

Signed-off-by: Kevin Morris kevr@0cost.org

Edited by Kevin Morris

Merge request reports