mirror of
https://github.com/langgenius/dify.git
synced 2026-04-26 13:45:57 +08:00
feat
This commit is contained in:
@ -43,6 +43,7 @@ class HttpExecutor:
|
||||
self.params = {}
|
||||
self.headers = {}
|
||||
self.body = None
|
||||
self.files = None
|
||||
|
||||
# init template
|
||||
self._init_template(node_data, variables)
|
||||
@ -248,10 +249,24 @@ class HttpExecutor:
|
||||
server_url += f'?{urlencode(self.params)}'
|
||||
|
||||
raw_request = f'{self.method.upper()} {server_url} HTTP/1.1\n'
|
||||
for k, v in self.headers.items():
|
||||
|
||||
headers = self._assembling_headers()
|
||||
for k, v in headers.items():
|
||||
raw_request += f'{k}: {v}\n'
|
||||
|
||||
raw_request += '\n'
|
||||
raw_request += self.body or ''
|
||||
|
||||
# if files, use multipart/form-data with boundary
|
||||
if self.files:
|
||||
boundary = '----WebKitFormBoundary7MA4YWxkTrZu0gW'
|
||||
raw_request = f'--{boundary}\n' + raw_request
|
||||
for k, v in self.files.items():
|
||||
raw_request += f'Content-Disposition: form-data; name="{k}"; filename="{v[0]}"\n'
|
||||
raw_request += f'Content-Type: {v[1]}\n\n'
|
||||
raw_request += v[1] + '\n'
|
||||
raw_request += f'--{boundary}\n'
|
||||
raw_request += '--\n'
|
||||
else:
|
||||
raw_request += self.body or ''
|
||||
|
||||
return raw_request
|
||||
@ -28,13 +28,13 @@ class HttpRequestNode(BaseNode):
|
||||
# invoke http executor
|
||||
response = http_executor.invoke()
|
||||
except Exception as e:
|
||||
import traceback
|
||||
print(traceback.format_exc())
|
||||
return NodeRunResult(
|
||||
status=WorkflowNodeExecutionStatus.FAILED,
|
||||
inputs=variables,
|
||||
error=str(e),
|
||||
process_data=http_executor.to_raw_request()
|
||||
process_data={
|
||||
'request': http_executor.to_raw_request()
|
||||
}
|
||||
)
|
||||
|
||||
return NodeRunResult(
|
||||
@ -45,7 +45,9 @@ class HttpRequestNode(BaseNode):
|
||||
'body': response,
|
||||
'headers': response.headers
|
||||
},
|
||||
process_data=http_executor.to_raw_request()
|
||||
process_data={
|
||||
'request': http_executor.to_raw_request(),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user