From 84ff43d9b72fadc284a9b3d7debbe6d66bd18687 Mon Sep 17 00:00:00 2001 From: minodisk Date: Wed, 7 Jan 2026 21:23:07 +0900 Subject: [PATCH] fix: use query params instead of request body for decode_plugin_from_identifier MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The decode_plugin_from_identifier endpoint was sending plugin_unique_identifier in the request body with a GET request. This causes issues with HTTP intermediaries like Google Cloud Run's frontend, which rejects GET requests with a body as malformed (returning 400 Bad Request). Changed from `data=` (request body) to `params=` (query parameters), which is: - Consistent with similar GET endpoints (fetch_plugin_manifest, fetch_plugin_by_identifier) - Compliant with HTTP standards (GET requests should not have semantic body content) - Compatible with Cloud Run and other HTTP proxies/load balancers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- api/core/plugin/impl/plugin.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/api/core/plugin/impl/plugin.py b/api/core/plugin/impl/plugin.py index 0bbb62af93..ec4858ae2e 100644 --- a/api/core/plugin/impl/plugin.py +++ b/api/core/plugin/impl/plugin.py @@ -209,8 +209,7 @@ class PluginInstaller(BasePluginClient): "GET", f"plugin/{tenant_id}/management/decode/from_identifier", PluginDecodeResponse, - data={"plugin_unique_identifier": plugin_unique_identifier}, - headers={"Content-Type": "application/json"}, + params={"plugin_unique_identifier": plugin_unique_identifier}, ) def fetch_plugin_installation_by_ids(