From f5e9b7850c96cfd4eb29677acdd30eb14efa70dd Mon Sep 17 00:00:00 2001 From: kappa Date: Mon, 13 Apr 2026 10:29:06 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20shield=5Fupdate=20PATCH=20=EB=A9=94?= =?UTF-8?q?=EC=84=9C=EB=93=9C=20=EC=88=98=EC=A0=95=20+=20client.py=20patch?= =?UTF-8?q?()=20=EC=B6=94=EA=B0=80=20+=20Bot=20Detection/Access=20Lists=20?= =?UTF-8?q?=EB=8F=84=EA=B5=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bunnycdn_mcp/client.py | 9 +++++++++ bunnycdn_mcp/tools/shield.py | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/bunnycdn_mcp/client.py b/bunnycdn_mcp/client.py index f352fe4..dcdcab0 100644 --- a/bunnycdn_mcp/client.py +++ b/bunnycdn_mcp/client.py @@ -34,6 +34,15 @@ class BunnyClient: ) return self._handle(resp) + async def patch(self, path: str, json: dict | None = None) -> dict | list | str: + async with httpx.AsyncClient(timeout=REQUEST_TIMEOUT) as c: + resp = await c.patch( + f"{self._base}{path}", + headers=self._headers, + json=json, + ) + return self._handle(resp) + async def put(self, path: str, json: dict | None = None) -> dict | list | str: async with httpx.AsyncClient(timeout=REQUEST_TIMEOUT) as c: resp = await c.put( diff --git a/bunnycdn_mcp/tools/shield.py b/bunnycdn_mcp/tools/shield.py index 4385113..6631420 100644 --- a/bunnycdn_mcp/tools/shield.py +++ b/bunnycdn_mcp/tools/shield.py @@ -90,7 +90,8 @@ def register_shield_tools(mcp): except json.JSONDecodeError as e: return f"Error: Invalid JSON: {e}" try: - data = await client.put(f"/shield/shield-zone/{shield_zone_id}", json=parsed) + body = {"shieldZoneId": shield_zone_id, "shieldZone": parsed} + data = await client.patch("/shield/shield-zone", json=body) return json.dumps(data, indent=2) if isinstance(data, dict) else f"Shield zone {shield_zone_id} updated" except Exception as e: logger.error("bunny_shield_update failed: %s", e)