Use built-in decoding feature of aiohttp.ClientResponse

This commit is contained in:
Davte 2020-02-11 17:28:37 +01:00
parent ab6849b5e0
commit f73f438d32
2 changed files with 7 additions and 4 deletions

View File

@ -14,7 +14,7 @@ __author__ = "Davide Testa"
__email__ = "davide@davte.it"
__credits__ = ["Marco Origlia", "Nick Lee @Nickoala"]
__license__ = "GNU General Public License v3.0"
__version__ = "2.3.24"
__version__ = "2.3.25"
__maintainer__ = "Davide Testa"
__contact__ = "t.me/davte"

View File

@ -161,7 +161,7 @@ async def async_post(url, mode='html', **kwargs):
)
async def async_request(url, type='get', mode='json', encoding='utf-8',
async def async_request(url, type='get', mode='json', encoding=None,
**kwargs):
"""Make an async html request.
@ -184,9 +184,12 @@ async def async_request(url, type='get', mode='json', encoding='utf-8',
if type == 'get'
else s.post(url, timeout=30, data=kwargs)
) as r:
result = await r.read()
if mode in ['html', 'json', 'string']:
result = result.decode(encoding)
result = await r.text(encoding=encoding)
else:
result = await r.read()
if encoding is not None:
result = result.decode(encoding)
except Exception as e:
logging.error(
'Error making async request to {}:\n{}'.format(