Skip to content

Commit 253dab8

Browse files
authored
respect text encoding specified in argument (#20999)
* respect text encoding specified in argument * update
1 parent 139aae2 commit 253dab8

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

sdk/core/azure-core/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
### Bugs Fixed
1010

11+
- respect text encoding specified in argument (thanks to @ryohji for the contribution) #20796
12+
1113
### Other Changes
1214

1315
## 1.19.0 (2021-09-30)

sdk/core/azure-core/azure/core/pipeline/transport/_aiohttp.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,9 @@ def text(self, encoding: Optional[str] = None) -> str:
353353
ctype = self.headers.get(aiohttp.hdrs.CONTENT_TYPE, "").lower()
354354
mimetype = aiohttp.helpers.parse_mimetype(ctype)
355355

356-
encoding = mimetype.parameters.get("charset")
356+
if not encoding:
357+
# extract encoding from mimetype, if caller does not specify
358+
encoding = mimetype.parameters.get("charset")
357359
if encoding:
358360
try:
359361
codecs.lookup(encoding)
@@ -372,7 +374,7 @@ def text(self, encoding: Optional[str] = None) -> str:
372374
)
373375
else:
374376
encoding = chardet.detect(body)["encoding"]
375-
if not encoding:
377+
if encoding == "utf-8" or encoding is None:
376378
encoding = "utf-8-sig"
377379

378380
return body.decode(encoding)

0 commit comments

Comments
 (0)