Skip to content

Commit f6caab7

Browse files
iscai-msftiscai-msft
andauthored
[python] pass decompress through in iter bytes (#9779)
fixes #9764 --------- Co-authored-by: iscai-msft <isabellavcai@gmail.com>
1 parent 6a2cd4c commit f6caab7

2 files changed

Lines changed: 10 additions & 3 deletions

File tree

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
changeKind: fix
3+
packages:
4+
- "@typespec/http-client-python"
5+
---
6+
7+
allow decompression in version tolerant

packages/http-client-python/generator/pygen/codegen/serializers/builder_serializer.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,7 @@ def example_template(self, builder: OperationType) -> list[str]:
564564
def make_pipeline_call(self, builder: OperationType) -> list[str]:
565565
retval = []
566566
type_ignore = self.async_mode and builder.group_name == "" # is in a mixin
567-
if builder.stream_value is True and not self.code_model.options["version-tolerant"]:
567+
if builder.stream_value:
568568
retval.append("_decompress = kwargs.pop('decompress', True)")
569569
pylint_disable = " # pylint: disable=protected-access" if self.code_model.is_azure_flavor else ""
570570
retval.extend(
@@ -973,7 +973,7 @@ def response_deserialization( # pylint: disable=too-many-statements
973973
else:
974974
stream_logic = False
975975
if self.code_model.options["version-tolerant"]:
976-
deserialized = "response.iter_bytes()"
976+
deserialized = "response.iter_bytes() if _decompress else response.iter_raw()"
977977
else:
978978
deserialized = (
979979
f"response.stream_download(self._client.{self.pipeline_name}, decompress=_decompress)"
@@ -1020,7 +1020,7 @@ def response_deserialization( # pylint: disable=too-many-statements
10201020
if len(deserialize_code) > 0:
10211021
if builder.expose_stream_keyword and stream_logic:
10221022
retval.append("if _stream:")
1023-
retval.append(" deserialized = response.iter_bytes()")
1023+
retval.append(" deserialized = response.iter_bytes() if _decompress else response.iter_raw()")
10241024
retval.append("else:")
10251025
retval.extend([f" {dc}" for dc in deserialize_code])
10261026
else:

0 commit comments

Comments
 (0)