瀏覽代碼

fix: requests timeout (#4370)

tags/0.6.9
Yeuoly 1 年之前
父節點
當前提交
16d47923c3
No account linked to committer's email address

+ 14
- 0
api/core/helper/ssrf_proxy.py 查看文件

@@ -42,6 +42,20 @@ def delete(url, *args, **kwargs):
if kwargs['follow_redirects']:
kwargs['allow_redirects'] = kwargs['follow_redirects']
kwargs.pop('follow_redirects')
if 'timeout' in kwargs:
timeout = kwargs['timeout']
if timeout is None:
kwargs.pop('timeout')
elif isinstance(timeout, tuple):
# check length of tuple
if len(timeout) == 2:
kwargs['timeout'] = timeout
elif len(timeout) == 1:
kwargs['timeout'] = timeout[0]
elif len(timeout) > 2:
kwargs['timeout'] = (timeout[0], timeout[1])
else:
kwargs['timeout'] = (timeout, timeout)
return _delete(url=url, *args, proxies=requests_proxies, **kwargs)

def head(url, *args, **kwargs):

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

@@ -40,9 +40,9 @@ class HttpRequestNodeData(BaseNodeData):
data: Union[None, str]

class Timeout(BaseModel):
connect: int = MAX_CONNECT_TIMEOUT
read: int = MAX_READ_TIMEOUT
write: int = MAX_WRITE_TIMEOUT
connect: Optional[int] = MAX_CONNECT_TIMEOUT
read: Optional[int] = MAX_READ_TIMEOUT
write: Optional[int] = MAX_WRITE_TIMEOUT

method: Literal['get', 'post', 'put', 'patch', 'delete', 'head']
url: str

+ 6
- 0
api/core/workflow/nodes/http_request/http_request_node.py 查看文件

@@ -95,8 +95,14 @@ class HttpRequestNode(BaseNode):
if timeout is None:
return HTTP_REQUEST_DEFAULT_TIMEOUT

if timeout.connect is None:
timeout.connect = HTTP_REQUEST_DEFAULT_TIMEOUT.connect
timeout.connect = min(timeout.connect, MAX_CONNECT_TIMEOUT)
if timeout.read is None:
timeout.read = HTTP_REQUEST_DEFAULT_TIMEOUT.read
timeout.read = min(timeout.read, MAX_READ_TIMEOUT)
if timeout.write is None:
timeout.write = HTTP_REQUEST_DEFAULT_TIMEOUT.write
timeout.write = min(timeout.write, MAX_WRITE_TIMEOUT)
return timeout


Loading…
取消
儲存