From ab8b6662c28a2c7b0473d43fcf0b26adb2877ede Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Mon, 20 May 2024 21:08:25 +0200 Subject: [PATCH] Add hotfix for requests 2.32.0. (#861) --- changelogs/fragments/862-requests.yml | 2 ++ plugins/module_utils/_api/transport/basehttpadapter.py | 7 +++++++ 2 files changed, 9 insertions(+) create mode 100644 changelogs/fragments/862-requests.yml diff --git a/changelogs/fragments/862-requests.yml b/changelogs/fragments/862-requests.yml new file mode 100644 index 00000000..5dd8033c --- /dev/null +++ b/changelogs/fragments/862-requests.yml @@ -0,0 +1,2 @@ +bugfixes: + - "vendored Docker SDK for Python - include a hotfix for requests 2.32.0 compatibility (https://github.com/ansible-collections/community.docker/issues/860, https://github.com/docker/docker-py/issues/3256, https://github.com/ansible-collections/community.docker/pull/861)." diff --git a/plugins/module_utils/_api/transport/basehttpadapter.py b/plugins/module_utils/_api/transport/basehttpadapter.py index 2afa60ae..c3a5b493 100644 --- a/plugins/module_utils/_api/transport/basehttpadapter.py +++ b/plugins/module_utils/_api/transport/basehttpadapter.py @@ -18,3 +18,10 @@ class BaseHTTPAdapter(_HTTPAdapter): super(BaseHTTPAdapter, self).close() if hasattr(self, 'pools'): self.pools.clear() + + # Hotfix for requests 2.32.0: its commit + # https://github.com/psf/requests/commit/c0813a2d910ea6b4f8438b91d315b8d181302356 + # changes requests.adapters.HTTPAdapter to no longer call get_connection() from + # send(), but instead call _get_connection(). + def _get_connection(self, request, *args, **kwargs): + return self.get_connection(request.url, kwargs.get('proxies'))