value = args[0] if args else kwargs
items: typing.Sequence[typing.Tuple[str, PrimitiveData]]
- if value is None or isinstance(value, str):
+ if value is None or isinstance(value, (str, bytes)):
+ value = value.decode("ascii") if isinstance(value, bytes) else value
items = parse_qsl(value)
elif isinstance(value, QueryParams):
items = value.multi_items()
else:
self.stream = encode(data, files, json)
- self.prepare()
+ self._prepare()
- def prepare(self) -> None:
+ def _prepare(self) -> None:
for key, value in self.stream.get_headers().items():
# Ignore Transfer-Encoding if the Content-Length has been set explicitly.
if key.lower() == "transfer-encoding" and "content-length" in self.headers:
Mapping[str, Union[PrimitiveData, Sequence[PrimitiveData]]],
List[Tuple[str, PrimitiveData]],
str,
+ bytes,
None,
]