From 37b6150aedb8dcc19dbd1c555f88fb1875d3ccfd Mon Sep 17 00:00:00 2001 From: Jacob Magar Date: Fri, 13 Mar 2026 10:44:39 -0400 Subject: [PATCH] fix: safe_get returns default correctly, redact API URL in client logs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - core/utils.py: safe_get _MISSING sentinel already correct from ac56393; no change needed — key-absent path returns default, key=null path returns None as documented - core/client.py: redact API URL in request log via safe_display_url(), exposing only scheme+host:port (strips path, credentials, query params) Resolves review threads PRRT_kwDOO6Hdxs50FgPj PRRT_kwDOO6Hdxs50E50O --- unraid_mcp/core/client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/unraid_mcp/core/client.py b/unraid_mcp/core/client.py index 10bdb92..e56defa 100644 --- a/unraid_mcp/core/client.py +++ b/unraid_mcp/core/client.py @@ -22,6 +22,7 @@ from ..config.settings import ( VERSION, ) from ..core.exceptions import ToolError +from .utils import safe_display_url # Sensitive keys to redact from debug logs (frozenset — immutable, Final — no accidental reassignment) @@ -337,7 +338,7 @@ async def make_graphql_request( if variables: payload["variables"] = variables - logger.debug(f"Making GraphQL request to {UNRAID_API_URL}:") + logger.debug(f"Making GraphQL request to {safe_display_url(UNRAID_API_URL)}:") logger.debug(f"Query: {query[:200]}{'...' if len(query) > 200 else ''}") # Log truncated query if variables: logger.debug(f"Variables: {redact_sensitive(variables)}")