mirror of
https://github.com/langgenius/dify.git
synced 2024-11-16 03:32:23 +08:00
feat(http-request-executor): enhance file handling in HTTP requests (#9944)
This commit is contained in:
parent
7056009b6a
commit
4da0b70694
|
@ -33,7 +33,7 @@ class Executor:
|
||||||
params: Mapping[str, str] | None
|
params: Mapping[str, str] | None
|
||||||
content: str | bytes | None
|
content: str | bytes | None
|
||||||
data: Mapping[str, Any] | None
|
data: Mapping[str, Any] | None
|
||||||
files: Mapping[str, bytes] | None
|
files: Mapping[str, tuple[str | None, bytes, str]] | None
|
||||||
json: Any
|
json: Any
|
||||||
headers: dict[str, str]
|
headers: dict[str, str]
|
||||||
auth: HttpRequestNodeAuthorization
|
auth: HttpRequestNodeAuthorization
|
||||||
|
@ -141,7 +141,11 @@ class Executor:
|
||||||
files = {k: self.variable_pool.get_file(selector) for k, selector in file_selectors.items()}
|
files = {k: self.variable_pool.get_file(selector) for k, selector in file_selectors.items()}
|
||||||
files = {k: v for k, v in files.items() if v is not None}
|
files = {k: v for k, v in files.items() if v is not None}
|
||||||
files = {k: variable.value for k, variable in files.items()}
|
files = {k: variable.value for k, variable in files.items()}
|
||||||
files = {k: file_manager.download(v) for k, v in files.items() if v.related_id is not None}
|
files = {
|
||||||
|
k: (v.filename, file_manager.download(v), v.mime_type or "application/octet-stream")
|
||||||
|
for k, v in files.items()
|
||||||
|
if v.related_id is not None
|
||||||
|
}
|
||||||
|
|
||||||
self.data = form_data
|
self.data = form_data
|
||||||
self.files = files
|
self.files = files
|
||||||
|
|
|
@ -192,7 +192,7 @@ def test_http_request_node_form_with_file(monkeypatch):
|
||||||
|
|
||||||
def attr_checker(*args, **kwargs):
|
def attr_checker(*args, **kwargs):
|
||||||
assert kwargs["data"] == {"name": "test"}
|
assert kwargs["data"] == {"name": "test"}
|
||||||
assert kwargs["files"] == {"file": b"test"}
|
assert kwargs["files"] == {"file": (None, b"test", "application/octet-stream")}
|
||||||
return httpx.Response(200, content=b"")
|
return httpx.Response(200, content=b"")
|
||||||
|
|
||||||
monkeypatch.setattr(
|
monkeypatch.setattr(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user