From a239c39f090cea009ee0c09cb26ab2bab1c7a840 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=9E=E6=B3=95=E6=93=8D=E4=BD=9C?= Date: Tue, 2 Sep 2025 14:47:24 +0800 Subject: [PATCH] fix: webhook http method should case insensitive (#24957) --- api/core/workflow/nodes/trigger_webhook/entities.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/api/core/workflow/nodes/trigger_webhook/entities.py b/api/core/workflow/nodes/trigger_webhook/entities.py index 27e8f69664..2c05fe2298 100644 --- a/api/core/workflow/nodes/trigger_webhook/entities.py +++ b/api/core/workflow/nodes/trigger_webhook/entities.py @@ -2,7 +2,7 @@ from collections.abc import Sequence from enum import StrEnum from typing import Literal, Optional -from pydantic import BaseModel, Field +from pydantic import BaseModel, Field, field_validator from core.workflow.nodes.base import BaseNodeData @@ -53,6 +53,14 @@ class WebhookData(BaseNodeData): params: Sequence[WebhookParameter] = Field(default_factory=list) # query parameters body: Sequence[WebhookBodyParameter] = Field(default_factory=list) + @field_validator("method", mode="before") + @classmethod + def normalize_method(cls, v) -> str: + """Normalize HTTP method to lowercase to support both uppercase and lowercase input.""" + if isinstance(v, str): + return v.lower() + return v + status_code: int = 200 # Expected status code for response response_body: str = "" # Template for response body