| @@ -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): | |||
| @@ -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 | |||
| @@ -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 | |||