[PR #31697] fix: use query params instead of request body for decode_plugin_from_identifier #33355

Open
opened 2026-02-21 20:53:08 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/31697

State: open
Merged: No


Summary

  • Changed decode_plugin_from_identifier to use query parameters (params=) instead of request body (data=)
  • Removed unnecessary Content-Type: application/json header

Problem

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 before the request reaches the container).

Solution

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
  • Compatible with Cloud Run and other HTTP proxies/load balancers

Related PR

This change requires a corresponding change in dify-plugin-daemon to accept the parameter from query string instead of JSON body:

**Original Pull Request:** https://github.com/langgenius/dify/pull/31697 **State:** open **Merged:** No --- ## Summary - Changed `decode_plugin_from_identifier` to use query parameters (`params=`) instead of request body (`data=`) - Removed unnecessary `Content-Type: application/json` header ## Problem 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 before the request reaches the container). ## Solution 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 - Compatible with Cloud Run and other HTTP proxies/load balancers ## Related PR This change requires a corresponding change in dify-plugin-daemon to accept the parameter from query string instead of JSON body: - https://github.com/langgenius/dify-plugin-daemon/pull/593
yindo added the pull-request label 2026-02-21 20:53:08 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#33355