awscli2/urllib3-v2.patch
Kseniia Nivnia e14b0cc5e5
Update to v2.33.0
Resolves: RHEL-157870

Signed-off-by: Kseniia Nivnia <knivnia@redhat.com>
2026-04-13 16:27:43 +01:00

38 lines
1.2 KiB
Diff

diff --git a/awscli/botocore/awsrequest.py b/awscli/botocore/awsrequest.py
index f7a18a3..bf1ca13 100644
--- a/awscli/botocore/awsrequest.py
+++ b/awscli/botocore/awsrequest.py
@@ -14,6 +14,7 @@
import functools
import io
import logging
+from collections.abc import Mapping
import socket
import sys
@@ -24,6 +25,7 @@ from botocore.compat import (
HTTPResponse,
MutableMapping,
urlencode,
+ urlparse,
urlsplit,
urlunsplit,
)
@@ -375,8 +377,14 @@ class AWSRequestPreparer:
def _prepare_url(self, original):
url = original.url
if original.params:
- params = urlencode(list(original.params.items()), doseq=True)
- url = f'{url}?{params}'
+ url_parts = urlparse(url)
+ delim = '&' if url_parts.query else '?'
+ if isinstance(original.params, Mapping):
+ params_to_encode = list(original.params.items())
+ else:
+ params_to_encode = original.params
+ params = urlencode(params_to_encode, doseq=True)
+ url = delim.join((url, params))
return url
def _prepare_headers(self, original, prepared_body=None):