nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at r-updates 131 lines 5.7 kB view raw
1From 38ba4e559a38279417719440174df6ca2bc203c5 Mon Sep 17 00:00:00 2001 2From: Priyanshu Tripathi <priyanshu.tripathi@deshaw.com> 3Date: Fri, 16 Jan 2026 06:50:43 -0500 4Subject: [PATCH] fix: migrate away from deprecated `HTTPResponse.getheader()` 5 method 6 7With urllib3 v2.6.0, `HTTPResponse.getheader()` was removed with the alternative 8being `HTTPResponse.headers`, a dictionary that can be queried with `headers.get()` 9 10See: https://github.com/urllib3/urllib3/pull/3622 11--- 12 src/etcd/__init__.py | 2 +- 13 src/etcd/client.py | 2 +- 14 src/etcd/tests/unit/__init__.py | 2 +- 15 src/etcd/tests/unit/test_client.py | 6 +++--- 16 src/etcd/tests/unit/test_old_request.py | 6 ------ 17 src/etcd/tests/unit/test_request.py | 4 ++-- 18 6 files changed, 8 insertions(+), 14 deletions(-) 19 20diff --git a/src/etcd/__init__.py b/src/etcd/__init__.py 21index d716e9b..e85918e 100644 22--- a/src/etcd/__init__.py 23+++ b/src/etcd/__init__.py 24@@ -61,7 +61,7 @@ class EtcdResult(object): 25 self.dir = True 26 27 def parse_headers(self, response): 28- headers = response.getheaders() 29+ headers = response.headers 30 self.etcd_index = int(headers.get("x-etcd-index", 1)) 31 self.raft_index = int(headers.get("x-raft-index", 1)) 32 33diff --git a/src/etcd/client.py b/src/etcd/client.py 34index a011757..5acea07 100644 35--- a/src/etcd/client.py 36+++ b/src/etcd/client.py 37@@ -975,7 +975,7 @@ class Client(object): 38 ) 39 40 def _check_cluster_id(self, response, path): 41- cluster_id = response.getheader("x-etcd-cluster-id") 42+ cluster_id = response.headers.get("x-etcd-cluster-id") 43 if not cluster_id: 44 if self.version_prefix in path: 45 _log.warning("etcd response did not contain a cluster ID") 46diff --git a/src/etcd/tests/unit/__init__.py b/src/etcd/tests/unit/__init__.py 47index a1b95c4..43bc9b5 100644 48--- a/src/etcd/tests/unit/__init__.py 49+++ b/src/etcd/tests/unit/__init__.py 50@@ -22,7 +22,7 @@ class TestClientApiBase(unittest.TestCase): 51 r = mock.create_autospec(urllib3.response.HTTPResponse)() 52 r.status = s 53 r.data = data 54- r.getheader.return_value = cluster_id or "abcd1234" 55+ r.headers = {"x-etcd-cluster-id": cluster_id or "abcd1234"} 56 return r 57 58 def _mock_api(self, status, d, cluster_id=None): 59diff --git a/src/etcd/tests/unit/test_client.py b/src/etcd/tests/unit/test_client.py 60index 37cdee1..64b2650 100644 61--- a/src/etcd/tests/unit/test_client.py 62+++ b/src/etcd/tests/unit/test_client.py 63@@ -121,7 +121,7 @@ class TestClient(TestClientApiBase): 64 """Verify _set_version_info makes the proper call to the server""" 65 data = {"etcdserver": "2.2.3", "etcdcluster": "2.3.0"} 66 self._mock_api(200, data) 67- self.client.api_execute.return_value.getheader.return_value = None 68+ self.client.api_execute.return_value.headers = {} 69 # Create the client and make the call. 70 self.client._set_version_info() 71 72@@ -135,7 +135,7 @@ class TestClient(TestClientApiBase): 73 """Ensure the version property is set on first access.""" 74 data = {"etcdserver": "2.2.3", "etcdcluster": "2.3.0"} 75 self._mock_api(200, data) 76- self.client.api_execute.return_value.getheader.return_value = None 77+ self.client.api_execute.return_value.headers = {} 78 79 # Verify the version property is set 80 self.assertEqual("2.2.3", self.client.version) 81@@ -144,7 +144,7 @@ class TestClient(TestClientApiBase): 82 """Ensure the cluster version property is set on first access.""" 83 data = {"etcdserver": "2.2.3", "etcdcluster": "2.3.0"} 84 self._mock_api(200, data) 85- self.client.api_execute.return_value.getheader.return_value = None 86+ self.client.api_execute.return_value.headers = {} 87 # Verify the cluster_version property is set 88 self.assertEqual("2.3.0", self.client.cluster_version) 89 90diff --git a/src/etcd/tests/unit/test_old_request.py b/src/etcd/tests/unit/test_old_request.py 91index b660c24..f2a0410 100644 92--- a/src/etcd/tests/unit/test_old_request.py 93+++ b/src/etcd/tests/unit/test_old_request.py 94@@ -17,12 +17,6 @@ class FakeHTTPResponse(object): 95 "x-etcd-cluster-id": "abdef12345", 96 } 97 98- def getheaders(self): 99- return self.headers 100- 101- def getheader(self, header): 102- return self.headers[header] 103- 104 105 class TestClientRequest(unittest.TestCase): 106 def test_set(self): 107diff --git a/src/etcd/tests/unit/test_request.py b/src/etcd/tests/unit/test_request.py 108index 7685dca..1cb7fd1 100644 109--- a/src/etcd/tests/unit/test_request.py 110+++ b/src/etcd/tests/unit/test_request.py 111@@ -381,7 +381,7 @@ class TestClientRequest(TestClientApiInterface): 112 113 def _mock_api(self, status, d, cluster_id=None): 114 resp = self._prepare_response(status, d) 115- resp.getheader.return_value = cluster_id or "abcdef1234" 116+ resp.headers = {"x-etcd-cluster-id": cluster_id or "abcdef1234"} 117 self.client.http.request_encode_body = mock.MagicMock(return_value=resp) 118 self.client.http.request = mock.MagicMock(return_value=resp) 119 120@@ -389,7 +389,7 @@ class TestClientRequest(TestClientApiInterface): 121 resp = self._prepare_response( 122 500, {"errorCode": error_code, "message": msg, "cause": cause} 123 ) 124- resp.getheader.return_value = cluster_id or "abcdef1234" 125+ resp.headers = {"x-etcd-cluster-id": cluster_id or "abcdef1234"} 126 self.client.http.request_encode_body = mock.create_autospec( 127 self.client.http.request_encode_body, return_value=resp 128 ) 129-- 1302.51.0 131