| 
					
				 | 
			
			
				@@ -12,6 +12,7 @@ from core.tools.entities.tool_entities import ToolInvokeMessage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from core.tools.errors import ToolProviderCredentialValidationError 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from core.tools.tool.tool import Tool 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+API_TOOL_DEFAULT_TIMEOUT = (10, 60) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class ApiTool(Tool): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     api_bundle: ApiBasedToolBundle 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -211,19 +212,19 @@ class ApiTool(Tool): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # do http request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if method == 'get': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            response = ssrf_proxy.get(url, params=params, headers=headers, cookies=cookies, timeout=10, follow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            response = ssrf_proxy.get(url, params=params, headers=headers, cookies=cookies, timeout=API_TOOL_DEFAULT_TIMEOUT, follow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         elif method == 'post': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            response = ssrf_proxy.post(url, params=params, headers=headers, cookies=cookies, data=body, timeout=10, follow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            response = ssrf_proxy.post(url, params=params, headers=headers, cookies=cookies, data=body, timeout=API_TOOL_DEFAULT_TIMEOUT, follow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         elif method == 'put': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            response = ssrf_proxy.put(url, params=params, headers=headers, cookies=cookies, data=body, timeout=10, follow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            response = ssrf_proxy.put(url, params=params, headers=headers, cookies=cookies, data=body, timeout=API_TOOL_DEFAULT_TIMEOUT, follow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         elif method == 'delete': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            response = ssrf_proxy.delete(url, params=params, headers=headers, cookies=cookies, data=body, timeout=10, allow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            response = ssrf_proxy.delete(url, params=params, headers=headers, cookies=cookies, data=body, timeout=API_TOOL_DEFAULT_TIMEOUT, allow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         elif method == 'patch': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            response = ssrf_proxy.patch(url, params=params, headers=headers, cookies=cookies, data=body, timeout=10, follow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            response = ssrf_proxy.patch(url, params=params, headers=headers, cookies=cookies, data=body, timeout=API_TOOL_DEFAULT_TIMEOUT, follow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         elif method == 'head': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            response = ssrf_proxy.head(url, params=params, headers=headers, cookies=cookies, timeout=10, follow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            response = ssrf_proxy.head(url, params=params, headers=headers, cookies=cookies, timeout=API_TOOL_DEFAULT_TIMEOUT, follow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         elif method == 'options': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            response = ssrf_proxy.options(url, params=params, headers=headers, cookies=cookies, timeout=10, follow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            response = ssrf_proxy.options(url, params=params, headers=headers, cookies=cookies, timeout=API_TOOL_DEFAULT_TIMEOUT, follow_redirects=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             raise ValueError(f'Invalid http method {method}') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 |