app: improve endpoint registration logging

Only log registration when verbose (debug) logging is enabled.
In addition, log endpoint removal.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
This commit is contained in:
Eric Callahan 2023-11-27 08:10:12 -05:00
parent 94989b39dc
commit 6dbcdf537f
No known key found for this signature in database
GPG Key ID: 5A1EB336DFB4C71B
2 changed files with 14 additions and 3 deletions

View File

@ -328,8 +328,8 @@ class MoonrakerApp:
f"Local endpoint '{endpoint}' already registered" f"Local endpoint '{endpoint}' already registered"
) )
return return
logging.debug(f"Registering API: {api_def}")
if TransportType.HTTP in transports: if TransportType.HTTP in transports:
logging.info(f"Registering HTTP Endpoint: ({request_types}) {http_path}")
params: dict[str, Any] = {} params: dict[str, Any] = {}
params["api_definition"] = api_def params["api_definition"] = api_def
params["wrap_result"] = wrap_result params["wrap_result"] = wrap_result
@ -339,8 +339,6 @@ class MoonrakerApp:
) )
self.registered_base_handlers.append(http_path) self.registered_base_handlers.append(http_path)
for request_type, method_name in api_def.rpc_items(): for request_type, method_name in api_def.rpc_items():
transports = api_def.transports & ~TransportType.HTTP
logging.info(f"Registering RPC Method: ({transports}) {method_name}")
self.json_rpc.register_method(method_name, request_type, api_def) self.json_rpc.register_method(method_name, request_type, api_def)
def register_static_file_handler( def register_static_file_handler(
@ -396,6 +394,7 @@ class MoonrakerApp:
def remove_endpoint(self, endpoint: str) -> None: def remove_endpoint(self, endpoint: str) -> None:
api_def = APIDefinition.pop_cached_def(endpoint) api_def = APIDefinition.pop_cached_def(endpoint)
if api_def is not None: if api_def is not None:
logging.debug(f"Removing Endpoint: {endpoint}")
if api_def.http_path in self.registered_base_handlers: if api_def.http_path in self.registered_base_handlers:
self.registered_base_handlers.remove(api_def.http_path) self.registered_base_handlers.remove(api_def.http_path)
self.mutable_router.remove_handler(api_def.http_path) self.mutable_router.remove_handler(api_def.http_path)

View File

@ -171,6 +171,18 @@ class APIDefinition:
auth_required: bool auth_required: bool
_cache: ClassVar[Dict[str, APIDefinition]] = {} _cache: ClassVar[Dict[str, APIDefinition]] = {}
def __str__(self) -> str:
tprt_str = "|".join([tprt.name for tprt in self.transports if tprt.name])
val: str = f"(Transports: {tprt_str})"
if TransportType.HTTP in self.transports:
req_types = "|".join([rt.name for rt in self.request_types if rt.name])
val += f" (HTTP Request: {req_types} {self.http_path})"
if self.rpc_methods:
methods = " ".join(self.rpc_methods)
val += f" (RPC Methods: {methods})"
val += f" (Auth Required: {self.auth_required})"
return val
def request( def request(
self, self,
args: Dict[str, Any], args: Dict[str, Any],