From ee39a1507f3af52f9da4fd572deafad81586f2e4 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Mon, 23 Feb 2026 23:51:43 +0100 Subject: [PATCH] Fix compatibility with urllib3 v2.6 urllib3 v2.6 removed `HTTPResponse.getheader(name, default)` in favor of `HTTPResponse.headers.get(name, default)`, see https://github.com/urllib3/urllib3/pull/3622 Changed from `resp.raw.getheader` to `resp.headers.get` for compatibility. Fixed `test_response_headers` test to verify getheader() works properly. Change-Id: Ic0fab4ca6407f5435d87aa02d533f3eb826f5b3b Signed-off-by: Anthony Roussel --- swiftclient/client.py | 2 +- test/unit/test_swiftclient.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/swiftclient/client.py b/swiftclient/client.py index 263aaa8c..f763d97c 100644 --- a/swiftclient/client.py +++ b/swiftclient/client.py @@ -441,7 +441,7 @@ class HTTPConnection: def getresponse(self): """Adapt requests response to httplib interface""" self.resp.status = self.resp.status_code - old_getheader = self.resp.raw.getheader + old_getheader = self.resp.headers.get def _decode_header(string): if string is None: diff --git a/test/unit/test_swiftclient.py b/test/unit/test_swiftclient.py index 600b787e..5a306608 100644 --- a/test/unit/test_swiftclient.py +++ b/test/unit/test_swiftclient.py @@ -2003,6 +2003,7 @@ class TestHTTPConnection(MockHttpTest): self.assertEqual( '\u062a-value', resp.getheader('\u062a-UNICODE')) self.assertEqual('', resp.getheader('empty-header')) + self.assertEqual('"%s"' % EMPTY_ETAG, resp.getheader('etag')) self.assertEqual( dict([('\u062a-unicode', '\u062a-value'), ('empty-header', ''),