浏览代码

fix(http_request): handle empty and string data inputs (#9579)

tags/0.10.1
-LAN- 1年前
父节点
当前提交
38a4f0234d
没有帐户链接到提交者的电子邮件
共有 1 个文件被更改,包括 11 次插入1 次删除
  1. 11
    1
      api/core/workflow/nodes/http_request/entities.py

+ 11
- 1
api/core/workflow/nodes/http_request/entities.py 查看文件

from collections.abc import Sequence from collections.abc import Sequence
from typing import Literal, Optional
from typing import Any, Literal, Optional


import httpx import httpx
from pydantic import BaseModel, Field, ValidationInfo, field_validator from pydantic import BaseModel, Field, ValidationInfo, field_validator
type: Literal["none", "form-data", "x-www-form-urlencoded", "raw-text", "json", "binary"] type: Literal["none", "form-data", "x-www-form-urlencoded", "raw-text", "json", "binary"]
data: Sequence[BodyData] = Field(default_factory=list) 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): class HttpRequestNodeTimeout(BaseModel):
connect: int = dify_config.HTTP_REQUEST_MAX_CONNECT_TIMEOUT connect: int = dify_config.HTTP_REQUEST_MAX_CONNECT_TIMEOUT

正在加载...
取消
保存