| @@ -1,5 +1,5 @@ | |||
| from collections.abc import Sequence | |||
| from typing import Literal, Optional | |||
| from typing import Any, Literal, Optional | |||
| import httpx | |||
| from pydantic import BaseModel, Field, ValidationInfo, field_validator | |||
| @@ -52,6 +52,16 @@ class HttpRequestNodeBody(BaseModel): | |||
| type: Literal["none", "form-data", "x-www-form-urlencoded", "raw-text", "json", "binary"] | |||
| data: Sequence[BodyData] = Field(default_factory=list) | |||
| @field_validator("data", mode="before") | |||
| @classmethod | |||
| def check_data(cls, v: Any): | |||
| """For compatibility, if body is not set, return empty list.""" | |||
| if not v: | |||
| return [] | |||
| if isinstance(v, str): | |||
| return [BodyData(key="", type="text", value=v)] | |||
| return v | |||
| class HttpRequestNodeTimeout(BaseModel): | |||
| connect: int = dify_config.HTTP_REQUEST_MAX_CONNECT_TIMEOUT | |||