From 1b50cee901a49796393c00a6f83a6a76e1c80b47 Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Tue, 21 May 2024 19:22:39 +0200 Subject: [PATCH] Add fix for requests 2.32.2+. (#864) --- changelogs/fragments/864-requests.yml | 5 +++++ plugins/module_utils/_api/transport/basehttpadapter.py | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/864-requests.yml diff --git a/changelogs/fragments/864-requests.yml b/changelogs/fragments/864-requests.yml new file mode 100644 index 00000000..1afc4db1 --- /dev/null +++ b/changelogs/fragments/864-requests.yml @@ -0,0 +1,5 @@ +bugfixes: + - "vendored Docker SDK for Python - include a fix requests 2.32.2+ compatibility + (https://github.com/ansible-collections/community.docker/issues/860, + https://github.com/psf/requests/issues/6707, + https://github.com/ansible-collections/community.docker/pull/864)." diff --git a/plugins/module_utils/_api/transport/basehttpadapter.py b/plugins/module_utils/_api/transport/basehttpadapter.py index c3a5b493..14062a0b 100644 --- a/plugins/module_utils/_api/transport/basehttpadapter.py +++ b/plugins/module_utils/_api/transport/basehttpadapter.py @@ -19,9 +19,14 @@ class BaseHTTPAdapter(_HTTPAdapter): if hasattr(self, 'pools'): self.pools.clear() - # Hotfix for requests 2.32.0: its commit + # Hotfix for requests 2.32.0 and 2.32.1: 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')) + + # Fix for requests 2.32.2+: + # https://github.com/psf/requests/commit/c98e4d133ef29c46a9b68cd783087218a8075e05 + def get_connection_with_tls_context(self, request, verify, proxies=None, cert=None): + return self.get_connection(request.url, proxies)