From edf38edc3fa975c233dac45259265a4a807b386d Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Tue, 21 Jul 2026 19:58:52 +0200 Subject: [PATCH] support per-request headers --- surfsense_mcp/mcp_server/core/client.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/surfsense_mcp/mcp_server/core/client.py b/surfsense_mcp/mcp_server/core/client.py index 9ae446ae2..d65b47b7e 100644 --- a/surfsense_mcp/mcp_server/core/client.py +++ b/surfsense_mcp/mcp_server/core/client.py @@ -61,13 +61,17 @@ class SurfSenseClient: json: Any | None = None, data: dict[str, Any] | None = None, files: Any | None = None, + headers: dict[str, str] | None = None, ) -> Any: - """Send a request and return the parsed body, or raise ``ToolError``.""" + """Send a request and return the parsed body, or raise ``ToolError``. + + ``headers`` overrides the client defaults for this call. + """ # Omit unset query params: sending them empty makes the API parse "" # as a value (e.g. int("") on folder_id) and fail. if params is not None: params = {key: value for key, value in params.items() if value is not None} - headers = self._auth_headers() + headers = {**self._auth_headers(), **(headers or {})} try: response = await self._http.request( method,