|
|
|
|
@ -8,6 +8,7 @@ from typing import Any, Literal
|
|
|
|
|
from urllib.parse import urlencode, urlparse
|
|
|
|
|
|
|
|
|
|
import httpx
|
|
|
|
|
from json_repair import repair_json
|
|
|
|
|
|
|
|
|
|
from configs import dify_config
|
|
|
|
|
from core.file import file_manager
|
|
|
|
|
@ -178,7 +179,8 @@ class Executor:
|
|
|
|
|
raise RequestBodyError("json body type should have exactly one item")
|
|
|
|
|
json_string = self.variable_pool.convert_template(data[0].value).text
|
|
|
|
|
try:
|
|
|
|
|
json_object = json.loads(json_string, strict=False)
|
|
|
|
|
repaired = repair_json(json_string)
|
|
|
|
|
json_object = json.loads(repaired, strict=False)
|
|
|
|
|
except json.JSONDecodeError as e:
|
|
|
|
|
raise RequestBodyError(f"Failed to parse JSON: {json_string}") from e
|
|
|
|
|
self.json = json_object
|
|
|
|
|
|