Bladeren bron

fix(http_request): add error handling for invalid URLs (#12082)

Signed-off-by: -LAN- <laipz8200@outlook.com>
-LAN- 3 maanden geleden
bovenliggende
commit
50b7ec3c73
2 gewijzigde bestanden met toevoegingen van 11 en 0 verwijderingen
  1. 4 0
      api/core/workflow/nodes/http_request/exc.py
  2. 7 0
      api/core/workflow/nodes/http_request/executor.py

+ 4 - 0
api/core/workflow/nodes/http_request/exc.py

@@ -20,3 +20,7 @@ class ResponseSizeError(HttpRequestNodeError):
 
 class RequestBodyError(HttpRequestNodeError):
     """Raised when the request body is invalid."""
+
+
+class InvalidURLError(HttpRequestNodeError):
+    """Raised when the URL is invalid."""

+ 7 - 0
api/core/workflow/nodes/http_request/executor.py

@@ -23,6 +23,7 @@ from .exc import (
     FileFetchError,
     HttpRequestNodeError,
     InvalidHttpMethodError,
+    InvalidURLError,
     RequestBodyError,
     ResponseSizeError,
 )
@@ -66,6 +67,12 @@ class Executor:
                 node_data.authorization.config.api_key
             ).text
 
+        # check if node_data.url is a valid URL
+        if not node_data.url:
+            raise InvalidURLError("url is required")
+        if not node_data.url.startswith(("http://", "https://")):
+            raise InvalidURLError("url should start with http:// or https://")
+
         self.url: str = node_data.url
         self.method = node_data.method
         self.auth = node_data.authorization