From 29b7e56fa14f5cc51a9ccf8b5131b1cd0879d74a Mon Sep 17 00:00:00 2001 From: blackdragoon26 Date: Fri, 14 Aug 2026 15:55:58 +0530 Subject: [PATCH 1/2] fix: propagate configured HTTP request timeout Forward the existing timeout value to requests so Sedna client calls honor their configured deadline without changing retry behavior. Signed-off-by: blackdragoon26 --- lib/sedna/service/client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/sedna/service/client.py b/lib/sedna/service/client.py index dd24f3387..56b8ec1f6 100644 --- a/lib/sedna/service/client.py +++ b/lib/sedna/service/client.py @@ -45,7 +45,8 @@ def http_request( _maxTimeout = timeout if timeout else 300 _method = "GET" if not method else method try: - response = requests.request(method=_method, url=url, **kwargs) + response = requests.request( + method=_method, url=url, timeout=_maxTimeout, **kwargs) if response.status_code == 200: if no_decode: return response From eac0ef52864530cd8df863fd51e5d7e28024594a Mon Sep 17 00:00:00 2001 From: blackdragoon26 Date: Mon, 24 Aug 2026 19:31:13 +0530 Subject: [PATCH 2/2] test: cover HTTP timeout propagation Signed-off-by: blackdragoon26 --- lib/tests/test_service_client.py | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 lib/tests/test_service_client.py diff --git a/lib/tests/test_service_client.py b/lib/tests/test_service_client.py new file mode 100644 index 000000000..38268e807 --- /dev/null +++ b/lib/tests/test_service_client.py @@ -0,0 +1,33 @@ +import unittest +from unittest.mock import Mock, patch + +from sedna.service.client import http_request + + +class HTTPRequestTest(unittest.TestCase): + + @patch("sedna.service.client.requests.request") + def test_forwards_explicit_timeout(self, request): + response = Mock(status_code=200) + request.return_value = response + + self.assertIs(http_request( + "http://example.test", timeout=7, no_decode=True), response) + + request.assert_called_once_with( + method="GET", url="http://example.test", timeout=7) + + @patch("sedna.service.client.requests.request") + def test_forwards_default_timeout(self, request): + response = Mock(status_code=200) + request.return_value = response + + self.assertIs(http_request( + "http://example.test", no_decode=True), response) + + request.assert_called_once_with( + method="GET", url="http://example.test", timeout=300) + + +if __name__ == "__main__": + unittest.main()